java JAXR使用相同路径创建多个类
使用JAX-RS,是否可以将多个类分配给单个路径?我正在尝试这样做:
@Path("/foo")
public class GetHandler {
@GET
public Response handleGet() { ...
}
@Path("/foo")
public class PostHandler {
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response handlePost() { ...
}
这显然是不允许的,因为我得到:
com.sun.jersey.api.container.ContainerException: A root resource, class PostHandler, has a non-unique URI template /foo
我总是可以创建一个类来处理请求,然后委托给助手类。我希望有一个标准的方法来做到这一点
# 1 楼答案
我也有类似的问题,将类级别的@PATH注释改为空字符串,并将资源名称改为方法级别的@PATH注释,解决了这个问题
# 2 楼答案
JAX-RS规范并不禁止这种映射。例如,Resteasy JAX-RS实现允许它。该功能应该是特定于球衣的
关于:
通常,资源类与路径同名:
# 3 楼答案
不能将多个资源映射到同一路径。几天前我试过了,结果也犯了类似的错误
最后,我为一个资源执行了子路径,例如/api/contacts,为另一个资源执行了/api/tags
唯一的其他办法是在多个包中创建资源,然后为每个包创建不同的应用程序