所需的网址应如下所示:
http://<host>:<port>/path/item?<arguments>
参数键和值应该是多个且动态的,所以我不能使用@BeanParam
或@QueryParam
。此外,我只能在没有实现的情况下调用此接口。
我目前的代码是这样的:
public interface RestService {
@GET
@Path("/path/item")
@Produces(MediaType.APPLICATION_JSON)
public JsonNode method(@QueryParam("params") String params);
}
我要传递的参数示例:brand = myBrand&amp; price = myPrice
有没有办法做这样的事情?
我的参考文献:
答案 0 :(得分:0)
使用UriInfo.getQueryParameters()
,如下所示:
@GET
@Path("/path/item")
@Produces(MediaType.APPLICATION_JSON)
public JsonNode method(@Context UriInfo uriInfo) {
MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
...
}
返回MultivaluedMap
。然后迭代它。