3

名前と値のペアを本文としてJerseyのPOSTRESTサービスに渡すにはどうすればよいですか。ApacheCommonsPostMethodを使用した以下のコードに似たもの

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

この呼び出しをアプリケーションに移植しています。現在の呼び出しは、apachecommonsPostMethodを使用しています。私のアプリケーションでは、Jerseyを使用しました。だから私は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 に答える