我想将列表作为参数,但列表的值与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();
}`
答案 0 :(得分:2)
不自动。每个查询参数都由jersey作为String读取,然后,它尝试转换您指定的参数的数据类型。 您必须拆分param String或客户端,发送多个具有相同名称的param,并像多值Map一样读取它们,其中键是param名称,值是包含所有值的列表。
答案 1 :(得分:0)
使用对象。您可以创建一个ActivitiesRequest类,然后在类中定义变量。您也可以为回复做到这一点。