1

我已经定义了 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给这个方法?

4

1 回答 1

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 body,在这种情况下你不能使用GET,你应该创建一个ValuesMapObject,它保存每个id到它的值之间的映射并从客户端发送它,在这种情况下,函数将是看起来像这样:

@POST
@Produces("text/plain")
@Consumes(MediaType.APPLICATION_XML)
@Path("method/ids_and_values")
public void method(ValuesMapObject values) {}
于 2012-07-19T13:18:44.363 回答