首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@QueryParam List<String>

@QueryParam List<String>
EN

Stack Overflow用户
提问于 2015-06-21 13:20:20
回答 2查看 6.6K关注 0票数 2

我想把list作为参数,但是列表的值不对应于java版本列表。例如@QueryParam("orderBy") List orderBy)这个列表的值为age,name作为元素。

是否有可能有单独的价值。像第一元素的年龄和第二元素的名字。

`

代码语言:javascript
复制
@GET
@Path("/range")
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public Response searchForActivitiesWithRange(@QueryParam(value = "description")List<String> descriptions,
                                             @QueryParam(value = "durationFrom") int durationFrom,
                                             @QueryParam(value = "durationTo") int durationTo) {


    List<Activity> activities = activityRepository.findByDescriptionandDuration(descriptions,durationFrom,durationTo);

    if (activities == null || activities.size() == 0) {
        return Response.status(Status.NOT_FOUND).build();
    }

    return Response.ok().entity(new GenericEntity<List<Activity>>(activities){}).build();
}`
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-21 13:26:01

不是自动的。每个查询param都由jersey作为字符串读取,然后尝试在指定参数的数据类型中进行转换。您必须拆分param字符串,或者客户端发送多个名称相同的param,并像MultivaluedMap一样读取它们,其中键是param名称,值是包含所有值的列表。

票数 3
EN

Stack Overflow用户

发布于 2016-01-15 20:20:52

使用对象。您可以创建一个ActivitiesRequest类,然后在该类中定义变量。你也可以这样做作为你的回应。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30964958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档