【发布时间】:2023-03-25 07:22:01
【问题描述】:
我定义了一个 REST 接口,它使用不同的 spring.application.name(spring.application.name 在我的业务中不能相同)具有不同的 Spring Boot 应用程序实现。
如何只定义一个Feign Client,并且可以访问所有的SpringBootApplication REST Services?
SpringBootApplication A(spring.application.name=A) 和 B(spring.application.name=) 有这个 RestService:
@RestController
@RequestMapping(value = "/${spring.application.name}")
public class FeignRestService {
@Autowired
Environment env;
@RequestMapping(path = "/feign")
public String feign() {
return env.getProperty("server.port");
}
}
另一个 SpringBootApplication C:
@FeignClient(name="SpringApplication A or B")
public interface FeignClientService {
@RequestMapping(path = "/feign")
public String feign();
}
在SpringBootApplication C中,我想使用一个FeignClientService来访问A和B,你有什么想法吗?
【问题讨论】:
标签: spring-boot spring-cloud-netflix spring-cloud-feign netflix-ribbon feign