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服务还没有更新代码;

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
Bing Webmaster Portal Back