我定义了一个 REST 接口,它具有不同的 Spring Boot 应用程序实现,使用不同的实现spring.application.name(spring.application.name在我的业务中不能相同)。
如何只定义一个Feign Client,并且可以访问所有SpringBootApplication REST服务?
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");
}
}
Run Code Online (Sandbox Code Playgroud)
另一个 SpringBootApplication C:
@FeignClient(name="SpringApplication A or B")
public interface FeignClientService {
@RequestMapping(path = "/feign")
public String feign();
}
Run Code Online (Sandbox Code Playgroud)
在SpringBootApplication C中,我想使用FeignClientService来访问A和B。你有什么想法吗?
spring-boot spring-cloud-feign feign netflix-ribbon spring-cloud-netflix