我正在使用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?