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

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依赖


     io.github.openfeign
     feign-httpclient
 

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

你可能感兴趣的:(spring)