1

我正在使用 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 数据,而不是将其放入名称-值参数对中。

4

1 回答 1

1

您已在代码中将 HttpPatch 对象隐式转换为 HttpUriRequest。

HttpUriRequest 接口不支持 setEntity 方法,因此您需要强制转换:

((HttpPatch)req).setEntity(stringData);
于 2016-06-14T07:59:53.480 回答