首页 文章

我可以动态创建Feign客户端或创建具有不同名称的实例

提问于
浏览
2

我已经定义了一个REST接口,它具有不同的Spring Boot Application实现,使用不同的 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");
    }
}

另一个SpringBootApplication C:

@FeignClient(name="SpringApplication A or B")
public interface FeignClientService {

    @RequestMapping(path = "/feign")
    public String feign();
}

在SpringBootApplication C中,我想使用FeignClientService来访问A和B.你有什么想法吗?

1 回答

  • 0

    您可能已经想到了这一点,但这可能会帮助那些正在寻找相同问题答案的人 . 您需要为使用这些服务的每个服务客户端配置Feign Client .

    由于Feign客户端与您定义的服务绑定,因此无法使用相同的Feign客户端来调用不同的服务 .

相关问题