Springcloud-alibaba&nacos的RestTemplate使用服务名报异常java.net.UnknownHostException
问题描述
本地测试,springboot注册了nacos服务,然后一个springboot通过服务名(http://服务名/接口)调用服务,查看nacos控制台服务都已经注册了,但是无论我是否给RestTemplate添加@LoadBalanced注解,都是报UnknownHostException错误
解决
在maven pom.xml
中添加下面的依赖即可
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
<version>3.0.1</version>
</dependency>
pom依赖
controller
@RequestMapping("/add")
public String add(){
System.out.println("xx成功");
String msg = restTemplate.getForObject("http://stock-service/stock/reduct", String.class);
return "xx成功" + msg;
}
SpringBootApplication
public static void main(String[] args) {
SpringApplication.run(xxxApplication.class,args);
}
@Bean
@LoadBalanced
public RestTemplate restTemplate(RestTemplateBuilder builder){
RestTemplate restTemplate = builder.build();
return restTemplate;
}
版本对应
版本:
SpringCloud-Alibaba | SpringBoot | SpringCloud |
---|---|---|
2021.1 | 2.4.5 | 2020.0.1 |