如何使用 Apache HttpClient 库提交包含 JSON 数据的 PATCH 请求?
How do I use the Apache HttpClient library to submit a PATCH request with JSON data?
我正在使用 Apache HTTP 客户端 v 4.3.4。如何通过 PATCH 方法将 JSON 数据提交到 URL?这个我试过了
// Create the httpclient
HttpClient httpclient = HttpClientBuilder.create().build();
// Prepare a request object
HttpUriRequest req = null;
if (method.equals(RequestMethod.PATCH))
{
req = new HttpPatch(url);
req.setHeader("Content-type", "application/json");
if (jsonData != null)
{
final StringEntity stringData = new StringEntity(jsonData.toString());
req.setEntity(stringData);
} // if
但是在“req.setEntity”行,我得到编译错误,“方法未定义”。请注意,我的请求需要按原样发送 JSON 数据,而不是将其放入名称-值参数对中。
您已在代码中将 HttpPatch 对象隐式转换为 HttpUriRequest。
HttpUriRequest 接口不支持 setEntity 方法,因此您需要强制转换:
((HttpPatch)req).setEntity(stringData);
我正在使用 Apache HTTP 客户端 v 4.3.4。如何通过 PATCH 方法将 JSON 数据提交到 URL?这个我试过了
// Create the httpclient
HttpClient httpclient = HttpClientBuilder.create().build();
// Prepare a request object
HttpUriRequest req = null;
if (method.equals(RequestMethod.PATCH))
{
req = new HttpPatch(url);
req.setHeader("Content-type", "application/json");
if (jsonData != null)
{
final StringEntity stringData = new StringEntity(jsonData.toString());
req.setEntity(stringData);
} // if
但是在“req.setEntity”行,我得到编译错误,“方法未定义”。请注意,我的请求需要按原样发送 JSON 数据,而不是将其放入名称-值参数对中。
您已在代码中将 HttpPatch 对象隐式转换为 HttpUriRequest。
HttpUriRequest 接口不支持 setEntity 方法,因此您需要强制转换:
((HttpPatch)req).setEntity(stringData);