java - 使用 Jersey Client 在 POST 中发送名称值对

标签 java rest jersey jax-rs name-value

我如何将名称值对作为正文传递给 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/

相关文章:

java - 具有不相关返回类型的继承方法

java - 为什么我不能调用这个简单的 Web 服务?

maven - 尝试在 Glassfish 上创建 WebClient 时出现 NoSuchMethodError

java - 在dropwizard中授权

java - WebSockets 不适用于 OpenShift Tomcat 7.0 和 WildFly Application Server 8.1.0.CR1

java - Java中如何检查4位数字代码中是否有双字母

java - 如何在具有同名变量的静态函数中访问全局静态变量

java - 有条件地公开 REST 资源

ios - 如何在从 REST 服务加载元素时将元素动态添加到 UICollectionView (Swift)

java - 如何在 Jersey 中动态指定默认值?