2016-02-12 12 views
9

stiamo utilizzando netflix feign per effettuare chiamate al servizio Web restful. Per la richiesta di patch sembra che la richiesta PATCH non sia supportata.Metodo HTTP non valido: PATCH> esecuzione PATCH: causato da: feign.RetryableException:

Causato da: feign.RetryableException: metodo HTTP non valida: PATCH esecuzione PATCH https://projects.dev.xyz.com/projects/v1/users/ {uid}/progetti/{GUID} a feign.FeignException.errorExecuting (FeignException.java:66) a fingere. SynchronousMethodHandler.executeAndDecode (SynchronousMethodHandler.java:100) a feign.SynchronousMethodHandler.invoke (SynchronousMethodHandler.java:74) a feign.hystrix.HystrixInvocationHandler $ 1.run (HystrixInvocationHandler.java:54) a com.netflix. hystrix.HystrixCommand $ 1.call (HystrixComma nd.java:294)

risposta

3

È possibile risolvere questo problema utilizzando httpClient da feign. Si desidera innanzitutto aggiungere il modulo al classpath, quindi configurarlo quando si crea il proprio oggetto con Feign.builder().client(new ApacheHttpClient()). Questo aggiunge il supporto per le richieste PATCH.

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

EDIT: c'è anche un oggetto di fingere che avvolge client HTTP di Apache, link here

3

se qualcuno incontra lo stesso problema con primavera-cloud-fingere, utilizzando il HttpClient da finta può essere raggiunto solo aggiungendo la dipendenza Maven:

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