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;
}
}