使用jersey客户端使用请求参数和请求正文执行POST操作

tec*_*rat 5 java jersey java-ee

我试图弄清楚如何使用Jersey客户端发送请求参数和POST操作的请求体.

目前我知道如何单独使用这两种方式,但不能一起使用.

从这里:使用Jersey客户端进行POST操作

我已经得到了请求参数:

MultivaluedMap formData = new MultivaluedMapImpl();
formData.add("name1", "val1");
formData.add("name2", "val2");
ClientResponse response = webResource.type("application/x-www-form-urlencoded").post(ClientResponse.class, formData);
Run Code Online (Sandbox Code Playgroud)

对于请求正文,我可以执行以下操作:

String jsonObject ="... valid json object";
webResource.type(MediaType.APPLICATION_JSON_TYPE).post(String.class, jsonObject);
Run Code Online (Sandbox Code Playgroud)

如何在请求正文中发布请求参数?

谢谢

tec*_*rat 8

我只是想通了..

webResource.queryParam("key", "value").type(MediaType.APPLICATION_JSON_TYPE).post(String.class, jsonObject);
Run Code Online (Sandbox Code Playgroud)

  • 老鼠,正如我即将发布的那样:http://jersey.java.net/nonav/apidocs/1.4/jersey/com/sun/jersey/api/client/WebResource.html#queryParams(javax.ws.rs .core.MultivaluedMap) (2认同)