SpringCloud学习遇到的坑,通过Eureka中已经注册的服务名,调用不了已经注册的服务

前提:服务提供者8001已经成功注册到eureka

 但是根据服务名称调用接口时,失败

private static final String PAYMENT_URL =  "http://CLOUD-PAYMENT-SERVICE";      //集群配置
@Resource
private RestTemplate restTemplate;

@GetMapping(value="/consumer/payment/zipkin")
public String paymentZipkin() {
    return restTemplate.getForObject(PAYMENT_URL +  "/payment/zipkin",String.class);
}

原因是
在使用RestTemplate的时候,千万别忘了加@LoadBalance注解
@Configuration
public class ApplicationContextConfig {
    @Bean
    @LoadBalanced   //使用@LoadBalanced注解赋予RestTemplate负载均衡的能力
    public RestTemplate getRestTemplate(){
        return  new RestTemplate();
    }
}

猜你喜欢

转载自blog.csdn.net/mrcool2012/article/details/106507450