我想把list作为参数,但是列表的值不对应于java版本列表。例如@QueryParam("orderBy") List orderBy)这个列表的值为age,name作为元素。
是否有可能有单独的价值。像第一元素的年龄和第二元素的名字。
`
@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();
}`发布于 2015-06-21 13:26:01
不是自动的。每个查询param都由jersey作为字符串读取,然后尝试在指定参数的数据类型中进行转换。您必须拆分param字符串,或者客户端发送多个名称相同的param,并像MultivaluedMap一样读取它们,其中键是param名称,值是包含所有值的列表。
发布于 2016-01-15 20:20:52
使用对象。您可以创建一个ActivitiesRequest类,然后在该类中定义变量。你也可以这样做作为你的回应。
https://stackoverflow.com/questions/30964958
复制相似问题