Feign避坑小结

Posted 沛沛老爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Feign避坑小结相关的知识,希望对你有一定的参考价值。

总结内容 

1、方法带参数的时候,记得带上@RequstBody

不加的话,可能会出现get参数值为null的问题。这个问题不注意会困扰你很长时间。不要问我为什么,这都是血和泪的教训出来的,而且这玩意编译不报错,运行的时候不打断点也不会报错,不跨服务调用也不会有问题。但是很多时候就是这个导致参数传递失败了。

2、多参数情况下,只能有一个@RequestBody,其它参数使用@RequestParam

方法只支持一个@RequestBody,多个会报错。如果有多个参数,用@RequestParam来解决后面参数传递的问题

<1> 使用@RequestBody传递对象是最常用的方式。

<2> 如果参数并不是很多,可以平铺开使用@RequestParam

<3> 使用Map,这也是完全可以的,但不太符合面向对象的思想,不能从代码立刻看出该接口需要什么样的参数。

3、mybatis中save保存后ID返回问题

Feign不支持跨服务去返回mybatis的save自动返回ID的方式。要想获得当前Entity新增后的实例ID。请显示传递。用Boolean返回的只有true。这个如果写单体写习惯了,可能容易踩这个坑。

以上是关于Feign避坑小结的主要内容,如果未能解决你的问题,请参考以下文章

feign 调用常见问题避坑指南!

Java避坑指南:finally块的陷阱及正确的关闭资源方式小

Java避坑指南:finally块的陷阱及正确的关闭资源方式小

Java避坑指南:finally块的陷阱及正确的关闭资源方式小

Java避坑指南:finally块的陷阱及正确的关闭资源方式小

一不小心又踩了feign的坑