3

我如何将名称值对作为正文传递给泽西岛的 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。在我的应用程序中,我使用了泽西岛。所以我想使用球衣类/功能而不是 apache。

4

1 回答 1

12

在泽西岛有一个带有“MultivaluedMapImpl”的MultivaluedMap接口。JAX-RS

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);

是一个更全面的示例,说明如何使用 Jersey 客户端 API。

于 2012-09-21T11:54:06.683 回答