我已经定义了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
对传递给此方法?
答案 0 :(得分:3)
一种方法是创建自己的协议,如下所示:
方法/ 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主体,在这种情况下你不能使用GET,你应该创建一个ValuesMapObject,它在每个id到它的值之间保存一个映射并从客户端发送它,在这种情况下功能将如下所示:
@POST
@Produces("text/plain")
@Consumes(MediaType.APPLICATION_XML)
@Path("method/ids_and_values")
public void method(ValuesMapObject values) {}