如何通过请求url传递请求PostBody参数? - 使用Java中的HttpClient

时间:2015-12-08 11:18:15

标签: java api automated-tests httpclient

使用HttpClient,我正在尝试API自动化。当我正在进行GET调用时,它很好。但是当我正在进行POST调用时 - 获取代码:404作为Http Response。

示例:

Request URL : Base_url + service_url + params
Post body : {"key1":"value1","key2":"value2"}

使用REST客户端 - 我得到了适当的响应。 使用Java代码 - 我收到404错误代码。

如何使用HttpClient拨打电话?

1 个答案:

答案 0 :(得分:0)

404是“FileNotFound” - 您应该显示Exception ...

正如所提出的 - 这是HttpClient的简短示例:

HttpClient httpClient = HttpClientBuilder.create().build(); 

try {
    HttpPost request = new HttpPost("http://base-url/service-url?params");
    StringEntity body=new StringEntity("{\"key1\":\"value1\",\"key2\":\"value2\"}");        
    request.setEntity(body);
    HttpResponse response = httpClient.execute(request);

    // Do something with response
}catch (Exception ex) {
    //Something bad happended - deal with it.
    ex.printStackTrace()
}