Eureka:使用loadBalancerClientloadBalancerClient配合RestTemplate获取远程调用

前提:注入
@Autowired private LoadBalancerClient loadBalancerClient;
LoadBalancerClient:获取服务对象。
RestTemplate:产生请求。

代码
@RequestMapping("usesayhello2")
@ResponseBody
    public String usesayhello2(){
        //第二种方法:使用loadBalancerClient获取服务
        //使用serviceInstance获得主机名,和端口号
        RestTemplate template=new RestTemplate();
        ServiceInstance serviceInstance=loadBalancerClient.choose("client");
        String str="http://"+serviceInstance.getHost()+":"+serviceInstance.getPort()+"/UserSay";

        System.out.println(str);
        String s= template.getForObject(str,String.class);
        return s;
    }
}
posted @ 2021-11-17 14:30  旅祸少年  阅读(354)  评论(0编辑  收藏  举报