在 Jersey 1.x 中,您过去可以在其客户端 API 中将 QueryParams 设置为 Map:
// Jersey 1.x Client API
MultivaluedMap<String, String> queryParams = ....
webResource.queryParams(queryParams);
我们现在正在迁移到 JAX-RS 2.x 并希望使用其新的客户端 API。似乎没有任何可能在一次调用中使用查询参数映射,看起来您需要在循环中设置每个查询参数:
// 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 解决此问题的唯一方法,还是我遗漏了什么?
最佳答案
使用标准的 JAX-RS 2.0 客户端 API 没有其他方法可以做到这一点。
关于java - 从 JAX-RS 1.x 迁移到 2.x( Jersey )- 将 QueryParams 设置为 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29409950/