小编use*_*148的帖子

我可以动态创建 Feign Client 或创建具有不同名称的实例吗

我定义了一个 REST 接口,它具有不同的 Spring Boot 应用程序实现,使用不同的实现spring.application.namespring.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

5
推荐指数
1
解决办法
6811
查看次数