Есть ли способ вызвать HTTP PATCH на REST-сервисе от клиента, используя Jersey Clinet

Я пытаюсь выяснить, как вызвать / вызвать метод PATCH, предоставляемый службой от клиента через программу Java с использованием клиента Jesrey.

Я перепробовал много способов и прочитал много вещей онлайн. Но, похоже, это еще не поддерживается в Джерси. Любая помощь будет оценена.

Один из примеров кода, который я попробовал.

    ClientConfig clientConfig = new DefaultClientConfig();
    clientConfig.getProperties().put(URLConnectionClientHandler.PROPERTY_HTTP_URL_CONNECTION_SET_METHOD_WORKAROUND, true);
    clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, true);       
    clientConfig.getClasses().add(ProtobufMessageBodyReaderWriter.class);       
    CLIENT = Client.create(clientConfig);
           CLIENT.resource(BASE_URL);
    webResource = CLIENT.resource(BASE_URL);    
    T response = null;
    ClientResponse cResponse = null;
    cResponse = webResource.type(MediaType.APPLICATION_JSON).method("PATCH",ClientResponse.class, requestObject);

Это дает "java.net.ProtocolException: метод HTTP PATCH не поддерживает вывод" . Может кто-нибудь предложить мне, как это сделать вышеупомянутым способом или любым другим способом

1 ответ

Из быстрого чтения на форуме Джерси, кажется, есть ошибка.

Можете ли вы использовать HTTP-клиент вместо webResource.type(...).method("PATCH")? Например, используйте Apache HTTP Commons.

Другие вопросы по тегам