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的,那么具体就得看工具包实现的不同的,查看源码发现okhttp和HttpURLConnection都不支持(报错),只有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
本文探讨了FeignClient在使用@RequestParam和@RequestBody时遇到的问题,特别是当定义为GET方法却执行POST请求时的解决办法。文章指出只有httpclient支持@RequestBody+RequestMethod.GET,并提供了引入相关依赖的方法。
3261

被折叠的 条评论
为什么被折叠?



