我需要将动态查询参数发送到 REST Web 服务 GET 方法 [如下所示]。
host:port/app?field1=XXX&value1=VVV&field2=XXX&value2=XXX ....
使用者可以将参数发送到字段和值。每个字段都映射到该值。
有了这种类型的要求,我无法在服务器端方法上编写一组有限的 QueryParams。
有没有任何类型的 REST 库支持这一点?我检查了RESTEasy和Jersey,它们似乎都不支持这一点[据我检查]。
谢谢。
使用 UriInfo.getQueryParameters()
,如下所示:
@GET
@Path("/foo")
@Produces(MediaType.APPLICATION_JSON)
public Response foo(@Context UriInfo uriInfo) {
MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
...
}
它返回一个MultivaluedMap
。然后只是迭代它。