我正在尝试使用正文发出 HTTP Post 请求。我想知道如何将 json 对象放入请求正文中,然后读取响应正文。
HttpClient httpClient = HttpClientBuilder.create().build();
String responseString = null;
try {
HttpPost request = new HttpPost(link);
log.info("Executing request " + request.getRequestLine());
StringEntity params = new StringEntity(data);
request.addHeader("content-type", "application/json");
request.setEntity(params);
HttpResponse response = httpClient.execute(request);
HttpEntity entity = response.getEntity();
responseString = EntityUtils.toString(entity, "UTF-8");
} catch (Exception e) {
log.info("Exception thrown while executing HTTPPostRequest");
}
return responseString;
这是我当前用来发出请求的代码片段。如果使用“StringEntity”是将数据放入正文中的正确选择。 我得到空正文,它应该返回包含 json 数据的正文
最佳答案
只要你的“数据”是 json 就应该没问题。
HttpClient httpClient = HttpClientBuilder.create().build();
String responseString = null;
try {
HttpPost request = new HttpPost(link);
log.info("Executing request " + request.getRequestLine());
StringEntity content = new StringEntity(data);
content.setContentType("application/json");
//or request.setHeader("Content-type", "application/json");
request.setEntity(content);
HttpResponse response = httpClient.execute(request);
HttpEntity entity = response.getEntity();
responseString = EntityUtils.toString(entity, "UTF-8");
} catch (Exception e) {
log.info("Exception thrown while executing HTTPPostRequest");
}
return responseString;
关于java - 如何将 json 放入 HTTPPost 请求正文中,然后在响应中读取正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39327279/