繁体   English   中英

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

[英]Send list of query parameters to jersey client using GET in jersey 2.x?

在jersey 1.4版本中(至少这是我在网上找到的唯一参考资料)有com.sun.jersey.api.client.WebResource ,你可以使用Webresource.queryParams()发送参数列表...似乎方法没有在jersey-client 2.x中存在更长时间...我想它仍然可以这样做(不必手动拼凑查询字符串)? 有一个WebTarget类,带有一个方法:

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

但是没有queryParams()方法。

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

target.queryParam("foo", "fooValue").queryParam("bar", "barValue");

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

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

您可以使用public WebTarget queryParam(String name, Object... values); 方法:

target.queryParam("foo", "fooValue", "barValue", "anythingElseValue");

如果你已经有了List,只需将它作为普通数组传递:

List<String> list = new ArrayList<>();
list.add("foo");
list.add("bar");

target.queryParam("foo", list.toArray());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM