我已经定义了 GET 方法,如下所述:
@GET
@Produces("text/plain")
@Path("method/{id}/{value}")
public void method(@PathParam("ids") final String id, @PathParam("value") final String value) {}
它允许我通过一个id
和value
。我怎样才能将一堆对传递id/value
给这个方法?
一种方法是创建自己的协议,如下所示:
方法/1,2,3,4,5,6,7/一,二,三,四,五,六,七
然后,在您的代码中解析“协议”:
public void method(@PathParam("ids") final String idStr, @PathParam("value") final String valueStr) {
String[] ids = idStr.split(",");
String[] values = valueStr.split(",");
}
但它很丑
第二个是使用POST body,在这种情况下你不能使用GET,你应该创建一个ValuesMapObject,它保存每个id到它的值之间的映射并从客户端发送它,在这种情况下,函数将是看起来像这样:
@POST
@Produces("text/plain")
@Consumes(MediaType.APPLICATION_XML)
@Path("method/ids_and_values")
public void method(ValuesMapObject values) {}