在 jersey 2.x 中使用 GET 将查询参数列表发送到 jersey 客户端?

Esk*_*sko 3 java rest jersey-client

在 jersey 1.4 版(至少这是我可以在网上找到的唯一参考)中com.sun.jersey.api.client.WebResource,您可以在其中使用 Webresource.queryParams() 发送参数列表......似乎 jersey-client 2.x 中不再存在该方法 .. . 我想仍然可以这样做(无需手动组合查询字符串)?有一个带有方法的类 WebTarget:

public WebTarget queryParam(String name, Object... values);

但没有 queryParams() 方法。

Seb*_*ian 6

只需多次调用 queryParam() 即可。如

target.queryParam("foo", "fooValue").queryParam("bar", "barValue");
Run Code Online (Sandbox Code Playgroud)

或者,如果您有地图,则可以遍历条目:

for (Map.Entry<String, Object> entry : map.entrySet()) {
    target = target.queryParam(entry.getKey(), entry.getValue());
}
Run Code Online (Sandbox Code Playgroud)