theme: smartblue
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第14天,点击查看活动详情
写在前面
Feign是微服务中服务间调用的优选组件,后来的OpenFeign也是基于此来开展的。
我会创建一个新的专栏,来保存我最近使用Feign的一些心得和问题点,欢迎大家关注。
为什么要梳理一下Feign注解@FeignClient中的各个参数?
前面已经说过了,踩坑太多,面试总问。
参数一栏表
@FeignClient的源码示例图如下:
今天我们接着来说剩下的参数。
decode404
decode404参数是一个布尔值,决定着是否在feign接口调用404状态时,抛出通过decode解码的异常信息。
此参数默认值为false。
一般在测试环境,或者想显示的去捕获此类日志的时候去使用。
使用示例如下:
java @FeignClient(value = "demo1", contextId = "demo1-1", qualifier = "demo1Feign", url = "https://baidu.com", decode404 = true)
configuration
configuration参数指定的是一个类,从名称上来就知道是配置相关的类;只不过这里的配置类需要自行去定义。
在配置类中,可以配置日志控制级别、解码、加密等等的操作。
在基本使用的情况一般不会去自定义这个配置类,除非对当前的feign接口有一些特殊处理时才会使用。
fallback
fallback参数,从名称一看就是反馈,这个参数和上面的configuration的使用差不多,都是指向一个类。
只不过fallback指向的是一个实现当前feign接口的实现类。
在feign接口被调用时,因其他服务出问题或者404时,这个时候就会默认调用fallback指向类的具体方法。
以此来做到回滚的操作。
一般也是为了回滚和记录问题才会使用,属于常用的参数范畴。
使用示例如下:
java @FeignClient(value = "demo1", fallback = FileFallback.class)
小结
今天我们就FeignClient注解的decode404、configuration、fallback参数做出了解释和应用示例,大家学废了吗?
后面还有和fallback参数相似却更完善的fallbackFactory等参数的解释,可以关注专栏查看下一篇文章。