REST Web 服务 - 动态查询参数

Ara*_*jay 4 rest web-services get

我需要将动态查询参数发送到 REST Web 服务 GET 方法 [如下所示]。

主机:端口/应用程序?field1=XXX&value1=VVV&field2=XXX&value2=XXX ....

消费者最多可以发送 fieldn 和 valuen 参数。每个字段都映射到值。

对于这种类型的要求,我无法在服务器端方法上编写一组有限的 QueryParams。

是否有任何类型的 REST 库支持此功能?我检查了 RESTEasy 和 Jersey,他们似乎都不支持这一点 [据我检查]。

谢谢。

cas*_*lin 6

使用UriInfo.getQueryParameters(),如下:

@GET
@Path("/foo")
@Produces(MediaType.APPLICATION_JSON)
public Response foo(@Context UriInfo uriInfo) {
    MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters(); 
    ...
}
Run Code Online (Sandbox Code Playgroud)

它返回一个MultivaluedMap. 然后迭代它。