java - 从 JAX-RS 1.x 迁移到 2.x( Jersey )- 将 QueryParams 设置为 map ?

标签 java web-services rest jersey jax-rs

在 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/

相关文章:

java - 长时间运行的 CallableStatement 无需等待即可执行

java - 非法监控状态异常

asp.net-mvc - Web 服务和 ASP.NET MVC

java - 在 Wildfly Swarm 上使用 Java DSL 设置 Apache Camel Rest 路由

c# - 缺少基于任务的 WCF 服务的帮助说明

rest - Spring Boot 应用程序 : No converter found for return value of type

java - 测试 ehcache

java - 如何检测 Scala 源代码中对 Java 类的依赖?

c# - 如何跨 SOAP Web 服务传播异常?

Perl SOAP 服务器不再返回 base64