我有一个类:
public class TestService {
@Path("/v1/test1/list")
public Response getTest1() {
}
@Path("/v1/test2/list")
public Response getTest2() {
}
}
Run Code Online (Sandbox Code Playgroud)
如果我没有在Class级别给出@Path注释,那么这个类不会被识别为REST资源,但我不能为这个类提供"/ v1"路径,因为已经有另一个带有@Path的类("/ v1") .
有什么可行的解决方法,使这个类被识别为Rest资源
根资源类是POJO被标注了(传统Java对象)
@Path,具有注释的与至少一种方法@Path或资源方法指示符注释如@GET,@PUT,@POST,@DELETE.
正如Justas已经提到的,一种可能的解决方案是将@Path("")注释添加到TestService类中.然而,它闻起来不是很好:
@Path("")
public class TestService {
@GET
@Path("/v1/test1/list")
public Response getTest1() {
...
}
@GET
@Path("/v1/test2/list")
public Response getTest2() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道你的项目是什么样的,但是我没有一个类,而是有两个类,设计如下:
@Path("/v1/test1")
public class TestService1 {
@GET
@Path("/list")
public Response getTest1() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
@Path("/v1/test2")
public class TestService2 {
@GET
@Path("/list")
public Response getTest2() {
...
}
}
Run Code Online (Sandbox Code Playgroud)