我使用的SpringCloudAlibaba版本是2022.0.0.0-RC2,SpringBoot版本是3.0.2,nacos的版本是2.4.3。两个服务启动可以成功注册到nacos。如果使用ip+端口的方式,order服务是可以成功调用shop服务的,当通过nacos调用,就会报错。
RestTemplate配置类
@Configuration
public class RestTemplateConfig {
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
测试代码
@Autowired
private RestTemplate restTemplate;
@GetMapping("/add")
public String add() {
String url = "http://shop-server/shop/reduct";
return restTemplate.getForObject(url, String.class);
}
shop-server的配置文件
server:
port: 8082
spring:
application:
name: shop-server
cloud:
nacos:
discovery:
server-addr: localhost:18848
order-server的配置文件
spring:
cloud:
nacos:
discovery:
server-addr: localhost:18848
application:
name: order-server
server:
port: 8081