1

以下に説明するようにGETメソッドを定義しました。

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

idそれは私が1つとを渡すことを可能にしますvalueid/valueペアの束をこのメソッドに渡すにはどうすればよいですか?

4

1 に答える 1

3

これを行う1つの方法は、次のような独自のプロトコルを作成することです。

メソッド/1、2、3、4、5、6、7 / 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(",");
}

しかし、それはかなり醜い

2つ目はPOST本体を使用することです。この場合、GETは使用できません。また、各IDとその値の間のマップを保持し、クライアントから送信するValuesMapObjectを作成する必要があります。この場合、関数は次のようになります。こんな風に見える:

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