restTemplate不使用@LoadBalanced注解就会请求失败

当不使用@LoadBalanced注解的时候,SpringCloud框架不会解析服务名来获取IP, 我在配置文件中配置的端口号是 8010 ,此时的端口号是80
如图一


图一.png

如果使用注解就会像这样(如图二或图三),图二是图一使用了@LoadBalanced后的结果,将eureka-payment-8010映射为IP:端口(192.168.137.1:8010)


图二.png

配置类

@Configuration
public class ApplicationContextConfig {
    @Bean
//    @LoadBalanced //使用@LoadBalance 注解赋予RestTemplate负载均衡能力/
    public RestTemplate getRestTemplate(){
        return  new RestTemplate();
    }
}

请求类

    String EUREKA = "http://eureka-payment-8010";
    
    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/test2")
    public void t1(){

        ResponseEntity<Object> forEntity = restTemplate.getForEntity(EUREKA + "/test/hello", null);
        System.out.println(forEntity.getStatusCodeValue());
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。