2016-02-12 13 views
9

używamy netflix-a, aby wywołać restful web service. W przypadku żądania poprawki wygląda na to, że żądanie PATCH nie jest obsługiwane.Niepoprawna metoda HTTP: PATCH> wykonanie PATCH: Spowodowane przez: feign.RetryableException:

spowodowane przez: feign.RetryableException: Metoda Nieprawidłowy HTTP patch wykonania PATCH https://projects.dev.xyz.com/projects/v1/users/ {uid}/projektów/{identyfikator_GUID} w feign.FeignException.errorExecuting (FeignException.java:66) w udawać. SynchronousMethodHandler.executeAndDecode (SynchronousMethodHandler.java:100) na feign.SynchronousMethodHandler.invoke (SynchronousMethodHandler.java:74) na feign.hystrix.HystrixInvocationHandler $ 1.run (HystrixInvocationHandler.java:54) w com.netflix. hystrix.HystrixCommand $ 1call (HystrixComma nd.java:294)

Odpowiedz

3

Możesz rozwiązać ten problem za pomocą httpClient z Feign. Najpierw należy dodać moduł do ścieżki klasy, a następnie skonfigurować go podczas budowania obiektu za pomocą Feign.builder().client(new ApacheHttpClient()). Spowoduje to dodanie obsługi żądań PATCH.

Link do Doc: https://github.com/Netflix/feign/tree/master/httpclient

EDIT: istnieje również Feign obiekt, który owija klienta HTTP Apache, link here

3

jeśli ktoś napotka ten sam problem z wiosna-cloud-udawać, używając httpclient od udawania można uzyskać, dodając zależność maven:

<dependency> 
     <!-- Required to use PATCH --> 
     <groupId>io.github.openfeign</groupId> 
     <artifactId>feign-httpclient</artifactId> 
     <version>${feign.version}</version> 
    </dependency>