1、直接寫死url
RestTemplate restTemplate = new RestTemplate();
String resp = restTemplate.getForObject("http://ip:port/order",String.class);
2、通過LoadBalancerClient的方式獲取服務的url
@Autowired
private LoadBalancerClient loadBalancerClient;
@Autowired
private RestTemplate restTemplate;
ServiceInstance serviceInstance = loadBalancerClient.choose("spring.application.name");
String url = String.format("http://%s:%s", serviceInstance.getHost(), serviceInstance.getPort())+ "/order";
restTemplate.getForObject(url, String.class);
3、通過配置注入的方式實現,可以直接使用注入名稱
@Component
public class RestConfig {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
}
@Autowired
private RestTemplate restTemplate;
restTemplate.getForObject("http://ip:port/oder", String.class);