spring - 如何在运行时更改@FeignClient 名称

标签 spring spring-cloud

我使用 Spring Cloud Netflix 来构建我的微服务。

@FeignClient(name = "ms-cloud",configuration = MsCloudClientConfig.class)      
public interface TestClient {                                                  

/**                                                                        
 * @return                                                                 
 */                                                                        
@RequestMapping(value = "/test", method = RequestMethod.GET)               
String test();                                                             

}  

当某些特殊用户时,我想将名称更改为 ms-cloud-pre。
任何人都可以提供一些建议吗?

最佳答案

根据documentation feign 支持 name 中的占位符和 url字段。

@FeignClient(name = "${store.name}")
public interface StoreClient {
    //..
}

所以你可以设置store.name=storeProd在运行时使用正常的 Spring Boot 配置机制。

关于spring - 如何在运行时更改@FeignClient 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35168148/

相关文章:

spring - Grails 4.0.1 - MessageSource 注入(inject)和使用方法获取消息给出空指针异常错误

spring - 如何启用 Spring Reactive Web MVC 来处理多部分文件?

spring - FeignClient 带有客户端证书和 Docker

spring - Autowiring 参数作为bean声明参数

spring-boot - 版本 spring boot、spring cloud、ribbon 不工作

java - 具有 stomp 安全性的 Spring websocket - 每个用户都可以订阅任何其他用户队列?

java - GenerationType.TABLE : Big numbers in the data base

spring-cloud - 我可以强制Eureka注册使用IP地址代替主机名吗?

java - com.springsource.org.springmodules.validation.validator 0.9.0 有更新的替代品吗?

java - 将 Spring Cloud 版本从 Edgware 升级到 Hoxton