java - 为什么我无法使用虚拟主机名来获取我的微服务?

标签 java spring spring-boot spring-cloud netflix-eureka

我的 Eureka 有一个提供商,如下所示:

enter image description here

然后我使用 restTemplate 来获取消息,如下所示:

  @Autowired
RestTemplate restTemplate;

@RequestMapping("getInfo")
public String getMessage(){
    return restTemplate.getForObject("http://microservice_provider/user/getUserInfo", String.class);
}

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

}

}

但它从来没有起作用。它告诉我:

enter image description here

那么,我该怎么做才能成功使用这样的功能呢?

最佳答案

创建一个 RestTemplate bean 并使用 @LoadBalanced 注释您的 bean。

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

这样,您就可以使用微服务的名称 microservice_provider 作为 URL 的一部分。

String remotemsg = restTemplate.getForObject("http://microservice_provider/user/getInfo",String.class);

关于java - 为什么我无法使用虚拟主机名来获取我的微服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41429287/

相关文章:

java - 当我尝试将 tomcat 添加到 Ubuntu 中的 Spring 工具套件时,如何摆脱下面提到的问题?

jpa - 是否可以使用 JPA 和 java.time.LocalDate 日期格式按月从 MySQL 查找数据?

spring-boot - 实体不持久。 RepositoryItemWriter 和 SimpleJpaWriter 线程安全吗?

java - 关于 JUnit 测试的字段的访问权限

java - 如何在Gradle文件中的任务中执行多个Shell脚本

hibernate - init 方法调用失败;嵌套异常是 java.lang.IncompatibleClassChangeError : Implementing class

java - Hibernate异常(一对多关系): reference to unknown entity

java - 如何在NetBeans平台应用程序中更快地显示Java3D图像?

java - 包含字符串格式的变量是否有通用的命名约定?

spring - spring starter 项目中的服务 url 是什么?默认服务 url https ://start. spring.io 的替代方案