1. 直接使用

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject("http://localhost:8761/order", String.class);

2.使用 LoadBalancerClient 获取服务地址

    @Autowired
    LoadBalancerClient loadBalancerClient;

    @GetMapping
    public String getOrder()
    {
        RestTemplate template = new RestTemplate();

        ServiceInstance instance = loadBalancerClient.choose("ORDER");
        String url = instance.getHost();
        int port = instance.getPort();

        String result = template.getForObject(url + ":" + port + "/order", String.class);
        return result;
    }

 

3. 使用 @LoadBalanced 注解

    1.RestTemplate 注解为bean, 并加上 @LoadBalanced
    @Bean
    @LoadBalanced
    RestTemplate restTemplate()
    {
        return new RestTemplate();
    }

2. 注入 @Autowired RestTemplate template;
3. 使用 @GetMapping
public String getOrder() { String result = template.getForObject("http://ORDER/order", String.class); return result; }

   ORDER 为注册的服务名

 

相关文章:

  • 2022-12-23
  • 2021-12-06
  • 2022-12-23
  • 2021-08-11
  • 2022-02-11
  • 2022-12-23
  • 2021-12-29
猜你喜欢
  • 2021-08-06
  • 2022-01-28
  • 2021-03-30
  • 2018-09-11
  • 2019-09-30
  • 2021-07-04
  • 2022-12-23
相关资源
相似解决方案