使用Jersey 1.x,您以前可以在其客户端API中将QueryParams设置为Map:
// Jersey 1.x Client API
MultivaluedMap<String, String> queryParams = ....
webResource.queryParams(queryParams);
我们现在正在迁移到JAX-RS 2.x并希望使用其新的客户端API。在一次调用中似乎没有任何可能使用queryparams的映射,看起来你需要在循环中设置每个查询参数:
// JAX-RS 2.x Client API
MultivaluedMap<String, String> queryParams = ....
for (Entry<String, List<String>> entry : queryParams.entrySet()) {
webTarget.queryParam(entry.getKey(), value();
// in case of multiple keys per value, we even need to use an inner loop...
}
由于显而易见的原因,这是非常乏味和烦人的 - 有人可以确认这实际上是用JAX-RS 2解决这个问题的唯一方法,还是我错过了什么?
答案 0 :(得分:2)
使用标准的JAX-RS 2.0客户端API没有其他方法可以做到这一点。