java - 通过 JAX-RS 参数传递键值列表

标签 java jax-rs

我已经定义了如下所述的 GET 方法:

@GET
@Produces("text/plain")
@Path("method/{id}/{value}")
public void method(@PathParam("ids") final String id, @PathParam("value") final String value) {}

它允许我传递一个 idvalue。如何将一堆 id/value 对传递给此方法?

最佳答案

一种方法是创建您自己的协议(protocol),如下所示:

method/1,2,3,4,5,6,7/one,two,three,four,five,six,seven

然后,在您的代码中解析“协议(protocol)”:

public void method(@PathParam("ids") final String idStr, @PathParam("value") final String valueStr) {
    String[] ids = idStr.split(",");
    String[] values = valueStr.split(",");
}

但是很丑

第二种是使用 POST 正文,在那种情况下你不能使用 GET,你应该创建一个 ValuesMapObject,它保存每个 id 到它的值之间的映射并从客户端发送它,在这种情况下函数将如下所示:

@POST
@Produces("text/plain")
@Consumes(MediaType.APPLICATION_XML)
@Path("method/ids_and_values")
public void method(ValuesMapObject values) {}

关于java - 通过 JAX-RS 参数传递键值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11561561/

相关文章:

java - dialog.show() 崩溃了 InputMethodService?

rest - Jackson 的 JsonNode 和 JAX-RS

java - CORSFilter 未应用于 JAX-RS 应用程序

java - JEE 无法运行 JAX-RS WebService 框架应用程序

java.lang.classnotfoundException : com. 谷歌,javascript.jscomp.SourceFile

java - 如何在故障安全中获取失败测试的完整堆栈跟踪?

java - 如何将图像转换为字节数组以及将字节数组转换回图像

java - 如何避免流中出现空值

jax-rs - 为什么我会收到 WELD-001303 : No active contexts for scope type javax. enterprise.context.RequestScoped 异常?

spring - 将 Spring(Boot?)添加到现有的 RESTEasy JAX-RS 应用程序