【问题标题】:Resttemplate with Spring boot and eureka带有 Spring boot 和 eureka 的 Resttemplate
【发布时间】:2018-07-12 12:19:34
【问题描述】:

我使用 spring-boot 和一个 eureka 客户端创建了一个项目(我在我的 eureka 服务器中注册了另外 2 个项目),因此要访问我在我的应用程序中创建的其他 2 个项目,就像这样:

@Bean
@LoadBalanced
public RestTemplate restTemplate() {
    return new RestTemplate();
}

所以,现在当我尝试访问我的一个项目时,我只在 url 中输入“http://my-project1/”或“http://my-project2/”,然后 eureka 服务器会为我解析该 url。

但是现在我需要从我的范围之外调用休息(例如邮政编码服务)所以如果我输入:

return restTemplate.getForObject("https://viacep.com.br/ws/11380120/json", String.class);

不工作,因为 viacep.com 不在我的范围内,有可能解决这个问题吗?

【问题讨论】:

    标签: spring-boot netflix-eureka


    【解决方案1】:

    在这种情况下,您将不得不创建另一个没有负载平衡的 RestTemplate。

    @Bean("rawRestTemplate")
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
    

    要调用任何未在您的 Eureka 注册的服务,请使用非负载平衡的 RestTemplate。因为,使用负载平衡的 rest 模板,它总是会尝试从 Eureka 注册表解析服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-08
      • 2017-08-08
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 2015-02-12
      • 2017-01-02
      相关资源
      最近更新 更多