【发布时间】:2018-03-01 17:20:15
【问题描述】:
我想知道在使用@DefaultValue 和@QueryParam 时,jax-rs(或作为实现的 Jersey)如何将客户端请求映射到实际操作。
假设你在资源中有如下操作,一个返回所有的资源,另一个返回一个自定义视图的所有;
@Path(/v1)
public class MyResource {
@GET
@Path(/my-resource)
public Response getAllResources(){
...
}
@GET
@Path(/my-resource)
public Response getAllResources(@QueryParam("view") @DefaultValue("simple") String view){
...
}
}
在这种情况下,如果我将服务称为/v1/my-resource,映射将如何在内部工作以及选择哪个操作?
如果规范中对此有任何解释,我将不胜感激。
谢谢,
图格塞姆。
【问题讨论】:
-
使用 Jersey,您将在启动时收到 ModelValidationException 错误,因为这两种方法不明确。应用程序将无法启动。 Jersey 无法根据查询参数(或一般的参数)区分资源方法
标签: java jersey jax-rs restful-url