从客户机发送多个查询参数 - 级联或迭代编程
如果要将客户端中的多个查询参数发送至服务器,那么您可查看以下样本。
关于此任务
注: 通常,将多个查询参数放置在一个 WebTarget 对象中的方法是使用以下级联编程方式:
javax.ws.rs.core.Response response = client.target(...).queryParam(key, value).queryParam(key, value).queryParam(key, value).request.get();
但是,在某些情况下,级联编程方式不适用,因为键值对数是可变的,无法预测。对于这些情况,可使用以下基于迭代的编程方式:Map<String, String> queryStrings;
...
javax.ws.rs.client.WebTarget target = client.target(....);
for (String key: queryStrings.keySet()){
String value = queryStrings.get(key);
target = target.queryParam(key, value); //It is important to know queryParam method won't update current WebTarget object, but return a new one.
}
}
javax.ws.rs.core.Response response = target.request().get();