проблемы определения перекрывающихся значений @Path для Jersey JAX RS - PullRequest
2 голосов
/ 27 июля 2011

У меня есть два класса ресурсов

Pc.java - @Path("/pc")
Tag.java - @Path("/{entity:(pc|networks)?}/{id}/tags")

Таким образом, второй ресурс обрабатывает ветвь URL-адресов '/ pc' или '/ networks', которые заканчиваются на '/ tags'.

Но проблема в том, что ни один из моих методов в Tag.java не вызывается.Я думаю, это потому, что Pc.java настроен для обработки / pc, поэтому все вызовы перенаправляются на этот ресурс, а Tag.java не вызывается, поэтому я получаю ошибку 404.

  1. Iможет справиться с этим, изменив / tag на родительский путь и имея (pc / network) под ним, но я не хочу этого делать, потому что он не соответствует стилю остальных URL в нашем проекте.
  2. У меня может быть два набора методов - один набор в Pc.java, который обрабатывает '/ pc', и другой набор в Network.java, который обрабатывает '/ networks', но это похоже на дублирование кода ...

Есть идеи?

1 Ответ

3 голосов
/ 27 июля 2011

Возможно, хотя бы часть тега должна быть подресурсом Pc?

...