首页 > 解决方案 > 如何在spring boot Java中动态获取feign客户端名称和url

问题描述

我是假装客户端实现的新手,我有以下当前实现的代码。

FeignPaymentAbcService:
@FeignClient(name= "abc-service", url="abc url")
public interface FeignPaymentAbcService{

    //methods
}



 invoking call :
    (feignPaymentAbcService.someFunctionality("some input")).getBody();

将来可能会有多个 feign 服务,如 feignPaymentAbcService 、feignPaymentxyz Service 等,因此根据服务它应该获取 feign 客户端名称和运行服务的 url。基本上想以动态的方式制作。

有人可以提出任何方法吗?

标签: javaspring-bootfeign

解决方案


您可以将 Feign 与 Ribbon 和 Eureka 服务器一起使用,以动态获取 url 以及服务器(或 url 列表,具体取决于实例)

@FeignClient(name= "abc-service")
@RibbonClient(name = "abc-service")

但名称必须存在,以便从 app.properties 文件中识别特定服务。需要为eureka server & Ribbon Load balancer添加相应的依赖,需要在application.properties中配置

您可以在此处查找我的示例代码


推荐阅读