我的 Eureka 有一个提供商,如下所示:
然后我使用 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();
}
}
但它从来没有起作用。它告诉我:
那么,我该怎么做才能成功使用这样的功能呢?
最佳答案
创建一个 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/