定义Jersey JAX RS的重叠@Path值的问题

时间:2011-07-26 22:40:02

标签: jersey jax-rs

我有两个资源类

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

因此,第二个资源处理以'/ tags'结尾的'/ pc'或'/ networks'网址的分支。

但问题是我的Tag.java中的方法都没有被调用。我认为这是因为Pc.java配置为处理/ pc,因此所有调用都被重定向到该资源而Tag.java没有被调用,所以我得到404错误。

  1. 我可以通过将/ tag更改为父路径并在其下面有(pc / networks)来处理这个问题,但我不想这样做,因为它不适合我们项目中其余网址的样式。 / LI>
  2. 我可以有两组方法 - 一组在Pc.java下处理'/ pc',另一组在Network.java下处理'/ networks',但这似乎是复制代码......
  3. 有什么想法吗?

1 个答案:

答案 0 :(得分:3)

也许Tag的至少一部分应该是Pc的sub-resource