java - Jersey : Is it possible to specify multiple values in @DefaultValue() annotation

标签 java web-services rest jersey jax-rs

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

这是代码片段

@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 - Jersey : Is it possible to specify multiple values in @DefaultValue() annotation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29651066/

相关文章:

java - Apache Ant 'Build.xml' > 由于 '@BeforeClass' 而失败

java 8流多个过滤器

rest - 发出POST请求后是否应该验证发布的内容?

sql - FormValue 始终是一个空映射

java - 如何在 spring boot 属性文件中使用时间戳?

java - 在java中使用DOM创建xml

java - 生成xs :date instead of xs:dateTime for WebParam

php - 如何获取有关已发送 PHP curl 请求的信息

java - 如何使用 Java Web 服务处理同一个信封中的多个 SOAP 请求?

post - PUT 与 POST 上传文件 - 使用 Zend Framework 构建 RESTful API