今天在迁移一个功能的代码时遇到了@FeignClient注解,没有接触过,特此记录
该注解是org.springframework.cloud.openfeign.FeignClient这个包的,主要作用就是在需要接口调用时,比如在本项目中调用另一个项目的接口,就可以用到这个注解
属性:
name:这个属性用来指定需要调用接口的项目的server,即指定服务名称;当需要在另一个项目调用时,其后还应跟上url属性,即地址+端口号,例如url = "localhost:8080"
url:可以手动指定地址
decode404:当发生http 404错误时,如果该字段为true,会调用decoder进行解码,否则抛出FeignException
configuration: Feign配置类,可以自定义Feign的Encoder、Decoder、LogLevel、Contract
fallback: 定义容错的处理类,当调用远程接口失败或超时时,会调用对应接口的容错逻辑,fallback指定的类必须实现@FeignClient标记的接口
fallbackFactory: 工厂类,用于生成fallback类示例,通过这个属性我们可以实现每个接口通用的容错逻辑,减少重复的代码
path: 定义当前FeignClient的统一前缀,当我们项目中配置了server.context-path,server.servlet-path时使用
具体对于此注解详细可看这位博主的帖子https://blog.csdn.net/xhwangSGTL/article/details/111991017