spring cloud feign 调用相关坑记录以及注意事项总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl386119974/article/details/80855703

1.feign client 调用端List类型用@RequestParam 服务端用 @RequestParam 接收参数

2.feign client 端参数为实体类传递用@RequestBody,服务端用@RequestBody接收参数

3. Connection refused: connect executing POST 错误时因为

很明显是最终feign执行http请求时把这个方法认定为POST,但feign client中又定义了RequestMethod.GET 或 @GetMapping,冲突导致报错

那么为什么feign会认为这个方法是post呢?

根据http协议定义是支持@RequestBody+ RequestMethod.GET的,那么具体就得看工具包实现的不同的,查看源码发现okhttpHttpURLConnection都不支持(报错),只有httpclient支持。(默认走HttpURLConnection会报错

我们知道只有httpclient支持@RequestBody+ RequestMethod.GET,所以我们必须满足条件走HttpClientFeignLoadBalancedConfiguration才

需要引入pom依赖

<dependency>
     <groupId>io.github.openfeign</groupId>
     <artifactId>feign-httpclient</artifactId>
 </dependency>

具体请查看:https://www.cnblogs.com/dennyzhangdd/p/7978454.html

猜你喜欢

转载自blog.csdn.net/zl386119974/article/details/80855703