【发布时间】:2018-08-10 14:53:55
【问题描述】:
我有两个微服务demo-cartservice 和demo-feignclient,其中demo-feignclient 从demo-cartservice 获取资源
在这两个项目中,我将server.servlet.context-path=/demo/api/ 设置为application.properties
Feign 客户端代理使用demo-cartservice 的硬编码服务器名称
@FeignClient("demo-cartservice/demo/api")
@RibbonClient("demo-cartservice/demo/api")
public interface DemoCartServiceProxy
{
@GetMapping("/carts/{cartId}")
public Cart getCart(@PathVariable("cartId") long id);
}
这很好用。
有没有办法从application.properties 读取服务器别名,像这样:
@FeignClient("${cartservice-alias}/${servlet-context}")
@RibbonClient("${cartservice-alias}/${servlet-context}")
public interface DemoCartServiceProxy
{
@GetMapping("/carts/{cartId}")
public Cart getCart(@PathVariable("cartId") long id);
}
在demo-feignclient 项目的application.properties 中我想拥有
server.servlet.context-path=/demo/api/
cartservice-alias=demo-cartservice
感谢您的帮助
【问题讨论】:
标签: spring spring-boot spring-cloud netflix-feign spring-cloud-feign