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服务还没有更新代码;
带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯