我们正在使用netflix feign打电话给宁静的网络服务.对于补丁请求,它看起来不支持PATCH请求.
引起:feign.RetryableException:无效的HTTP方法:PATCH 在feign.FeignException.errorExecuting(FeignException)执行PATCH https://projects.dev.xyz.com/projects/v1/users/ {uid}/projects/{guid}. java:66)at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:100)at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:74)at feign.hystrix.HystrixInvocationHandler $ 1.run(HystrixInvocationHandler.java:54)at com.netflix .hystrix.HystrixCommand $ 1.call(HystrixCommand.java:294)
Dir*_*irk 12
如果有人遇到spring-cloud- feign 的同样问题,可以通过添加maven依赖来实现使用假装的httpClient:
<dependency>
<!-- Required to use PATCH -->
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
<version>${feign.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
Ada*_*ich 10
您可以使用feign中的httpClient来解决此问题.您希望首先将模块添加到类路径中,然后在构建对象时对其进行配置
Feign.builder().client(new ApacheHttpClient()).这增加了对PATCH请求的支持.
链接到Doc:https://github.com/Netflix/feign/tree/master/httpclient
编辑:还有一个假装对象包装apache的http客户端,链接在这里
| 归档时间: |
|
| 查看次数: |
7025 次 |
| 最近记录: |