Есть ли способ вызвать 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.