小编Suv*_*was的帖子

使用ApacheHttpClient与数据和标头进行REST调用

除了移动应用程序之外,我还需要在我的一个Web应用程序中集成Kii MbaaS服务.我使用Android SDK并能够连接它.但是对于使用Java解决方案的网站,他们没有任何SDK,并要求我使用REST进行操作.现在我计划使用Servlet中的ApacheHttpClient连接到REST服务.其文档中的REST格式如下所示.在ApacheHttpClient中,我知道我可以将头文件(-H)作为HttpGet.addHeader("content-type","application/json")传递.但是我不确定如何传递数据(-d).任何人都可以通过指向任何教程链接或任何有关如何将数据与标题一起传递到REST服务的示例代码来帮助我吗?

REST语法如下 -

curl -v -X POST \
  -H "content-type:application/json" \
  -H "x-kii-appid:{APP_ID}" \
  -H "x-kii-appkey:{APP_KEY}" \
  "https://api.kii.com/api/oauth2/token" \
  -d '{"username":"user_123456", "password":"123ABC"}'
Run Code Online (Sandbox Code Playgroud)

提前致谢.

-------------------------编辑------------------------ --------------------------这里是我用连接到Apache HttpClient 4.3库编写的示例java代码但是我一直收到400错误. ..任何人都可以建议吗?

错误 -

线程"main"中的异常java.lang.RuntimeException:失败:在com.app.test.RestClientTest.main上的HTTP错误代码:400(RestClientTest.java:49)

package com.app.test;

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.MalformedURLException;
    import java.util.ArrayList;
    import java.util.List;

    import org.apache.http.Consts;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.message.BasicNameValuePair;

    public class RestClientTest {

        /**
         * @param args
         */
        public static void main(String[] args) {
            CloseableHttpClient httpClient …
Run Code Online (Sandbox Code Playgroud)

java rest rest-client apache-httpclient-4.x kiicloud

5
推荐指数
1
解决办法
3万
查看次数