写在前面
Feign是微服务中服务间调用的优选组件,后来的OpenFeign也是基于此来开展的。
为什么要梳理一下Feign注解@FeignClient中的各个参数?
- 踩坑太多
- 面试总问
参数一栏表
@FeignClient的源码示例图如下:
今天我们接着来说最后的几个参数。
终于要大功告成了!
fallbackFactory
fallbackFactory参数,和我们在上篇文章中学习的fallback很相似,可以说是具备fallback的功能,但比起fallback要更加完善。
fallbackFactory是可以捕获到Feign接口所有发生的异常,并且同样可以实现fallback相关接口来进行自定义回滚代码或者日志记录等等。
这个参数可以说是我们必定会用的参数了。
使用示例如下:
@FeignClient(value = 'demo1', fallbackFactory = Demo1FallbackFactory.class)
复制代码
更多的使用情况请查看这篇文章:SpringCloud中Feign为什么总是打印不出报错信息?
path
path参数,其实算是一个辅助参数,因为没有这个参数完全不影响Feign接口的使用。
针对这个参数,我们先来看如何使用的?
@FeignClient(value = 'demo1', fallbackFactory = Demo1FallbackFactory.class, path = '/demo1')
复制代码
为什么要写这个demo1的path呢,因为在demo1的api接口中都存在着这个demo1路径,可以将其提取到path这个公共参数中。
在下面的接口路径上自然就可以知道维护自己所需要的路径即可。
primary
在一开始说qualifier参数时,就简单提到了primary这个参数。
这个参数的默认值为true。
就是将本类转化成Bean的,可以让你在业务代码中进行依赖注入。
总结
终于将所有的参数都弄完了,这次再也没有什么不明白的了,面试官,我来了!