java-Jersey:是否可以在@DefaultValue()批注中指定多个值

我正在使用RESTful Web服务(JAX-RS)的Java API,
并且在JAX-RS的Jersey实现中遇到了@DefaultValue批注.

这是代码片段

@GET
@Path("/query")
public Response getUserWithQueryParams(
    @DefaultValue("defaultId") @QueryParam("from")String from,
    @DefaultValue("defaultName") @QueryParam("to") String to,
    @DefaultValue("mobileNo")@QueryParam("orderBy") List<String> orderBy
                                        ){

我的第三个参数是List< String>可以有多个值

例如我明确地传递参数

users/query?from=100&to=200&orderBy=age&orderBy=name

现在,我的第三个参数具有[age,name]值,

但是如果我没有传递任何显式参数,那么有没有办法设置多个默认值. ?

解决方法:

这将无法正常工作.如果对象是列表类型,它将在列表中插入一个值.列表中的对象将是列表的默认值. Check this out为什么不尝试检查orderBy == null(如果确实这样做),然后将默认值添加到orderBy?

上一篇:java-Dropwizard HK2注入


下一篇:java-apache http client org.apache.http.NoHttpResponseException:目标服务器无法响应