项目场景:feign在开发模式的小技巧
问题描述:
@feignClient指定url才能命中指定的节点,但是正式发布的时候又得删了,很麻烦.
1 | "base",url = "http://127.0.0.1:9000") (name= |
解决方案:
- 把url弄成动态的,并且开发模式才有值,正式环境默认值
新建一个公共的DevProcessor,把所有需要调用到的微服务ip端口信息弄进去,如果有公共工程的,那就维护好这一份就可以了.
实现BeanPostProcessor是为了在SpringBoot启动前进行设置
利用 @ConditionalOnProperty 设置为只在dev模式加载
1 |
|
在需要用到@FeignClient的地方就可以这么写了,注意属性变量引用最后有一个 : 这个不能少,因为正式环境是不会加载之前的DevProcessor类的. : 的作用是默认值为空字符串和原@FeignClient的url的默认值一样
1 | "base",url = "${feign.debug.url.system:}") (name= |
好了,以后开发模式就成指定url访问了,正式环境不受影响
————————————————
版权声明:本文为CSDN博主「DonkeyBulala」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36850300/article/details/125000814