我正在使用Spring框架与jersey一起实现REST。 我有以下两种模式的路径
设置1:
/top/{top_id}/<some string>
ex:
/top/{top_id}/book
/top/{top_id}/pen
/top/{top_id}/dog
设置2:
/top/{top_id}/middle/{middle_id}/<some string>
ex:
/top/{top_id}/middle/{middle_id}/book
/top/{top_id}/middle/{middle_id}/pen
/top/{top_id}/middle/{middle_id}/dog
由于这些工作在不同的层面上工作(在顶层设置1,在中层设置2),我想为它们创建不同的控制器类。
@Component
public class Top{
}
@Component
public class Middle{
}
我遇到的问题是两组都有/ top / {top_id}常见。
我不知道该怎么用作在类上面写的@Path注释的值。我尝试删除它,但泽西岛没有认识到这个课程。请建议一种方法来实现这一点。我试图这样做,因为每层有大约100条路径。我不想将它们全部保存在一个文件中。谢谢。
答案 0 :(得分:0)
经过orcale docs后,我找到了一种方法让它发挥作用。
@Path("/top/{top_id}")
@Component
public class Top{
@GET
@Path("/book")
@Produces({"application/json"})
public getBooks(){
}
}
@Path("/top/{top_id}/middle/{middle_id}")
@Component
public class Middle{
@GET
@Path("/book")
@Produces({"application/json"})
public getBooks(){
}
}
有效。使用这样的方法可以将它们分成不同的控制器文件。