Как использовать библиотеку Apache HttpClient для отправки запроса PATCH с данными JSON?

Я использую HTTP-клиент Apache версии 4.3.4. Как отправить данные JSON на URL-адрес с помощью метода PATCH? я пробовал это

    // 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 как есть, а не помещать их в пару параметров имя-значение.


person Dave    schedule 13.06.2016    source источник


Ответы (1)


Вы привели объект HttpPatch к HttpUriRequest в своем коде.

Интерфейс HttpUriRequest не поддерживает метод setEntity, поэтому вам нужно выполнить приведение:

((HttpPatch)req).setEntity(stringData);
person William Greenly    schedule 14.06.2016