我如何将名称值对作为正文传递给 Jersey 的 POST ReST 服务。类似于下面使用 Apache Commons PostMethod 的代码
final PostMethod post = new PostMethod(url);
post.setRequestBody(new NameValuePair[] {
new NameValuePair("loginId", userId),
new NameValuePair("logonPassword", password),
new NameValuePair("signature", signature),
new NameValuePair("timestamp", timestamp),
new NameValuePair("sourceSiteId", sourceSiteId) });
我正在将此调用移植到我的应用程序。当前调用使用 apache commons PostMethod。在我的应用程序中,我使用了 Jersey。所以我想使用 Jersey 类/功能而不是 apache。
最佳答案
有一个MultivaluedMap JAX-RS
中的接口(interface)与 Jersey 中的“MultivaluedMapImpl”。
Client client = Client.create();
WebResource webResource = client.resource("http://site.com/resource");
MultivaluedMap<String, String> map = new MultivaluedMapImpl();
map.put("loginId", loginId);
...
ClientResponse response = webResource.type("application/x-www-form-urlencoded")
.post(ClientResponse.class, map);
Here是如何使用 Jersey 客户端 API 的更全面的示例。
关于java - 使用 Jersey Client 在 POST 中发送名称值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12529714/