OpenFeign 的@FeignClient注解如何正确使用spel表达式

openFeign 注解@FeignClient("${openFeign.user-cloud}")可以这样使用spel表达式引用配置文件内容,

但是具体引用的是客户端调用的时候配置的内容,而不是服务端,服务端不需要配置,只需要继承feign接口,让方法声明和请求路径一致就可以了。比如:

这里his-center调用user-center,则user-center的feign接口上面该注解@FeignClient("${openFeign.user-cloud}")应该引用his-center中的配置,所以openFeign.user-cloud应该写在his-center中,但是值应该是user-center的注册中心服务名(即spring.application.name的值),而user-center中不需要配置openFeign.user-cloud这个值;如果不使用spel表达式,写死就是这么写:@FeignClient("user-center"),里面的内容就是user-center中的注册中心服务名。

 

使用spel的好处,同一个服务多个feign接口可以通过改变配置文件就可以一起改变,比如本地想调用本地feign测试,就可以把调用的feign服务名改为本地的,这样就不会访问到测试环境的feign服务了,因为测试环境的feign服务还没有更新代码;

posted @ 2022-03-17 17:32  迷走神经  阅读(923)  评论(0编辑  收藏  举报