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

时间:2015-04-15 13:05:20

标签: java web-services rest jersey jax-rs

我正在使用用于RESTful Web服务的Java API(JAX-RS), 并在Jersey实现JAX-RS时遇到@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]

但如果我没有通过任何明确的参数,那么有没有办法设置多个默认值。 ?

1 个答案:

答案 0 :(得分:2)

这不符合您的要求。如果对象是List类型,则它将在列表中插入一个值。列表中的对象将是列表的默认值的值。 Check this out为什么不尝试检查orderBy == null是否确实如此,然后将您的默认值添加到orderBy