使用RestTemplate調用服務

項目中使用過HttpClient、RestTemplate和FeignClient三種方式調用服務。
我是比較喜歡RestTemplate調用服務的。

下面是我自己常用的寫法,反正就是根據服務返回的json格式,使用對應的數據結構進行解析:

List<Map<String, String>> serviceTraces = restTemplate.getForObject(serviceUrl, ArrayList.class);

XXXServiceResponse response = restTemplate.getForObject(url, XXXServiceResponse.class);

HashMap<String,List<Map<String,Object>>> dataSetLists = null;
List<Map<String,Object>> dataSetList = null;
dataSetLists = restTemplate.getForObject(url,HashMap.class );
dataSetList = dataSetLists.get("data");
Map<String, Object> stringStringMap = dataSetList.get(i);
String domainId = (String) stringStringMap.get("domain");

開啓負載均衡

RestTemplate開啓客戶端負載均衡功能,這樣可以通過服務名作爲url地址,而不在需要具體的服務地址。
會把類似於http://HELLO-SERVICE/hello這種地址轉爲類似於http://195.124.207.128/hello

@Bean
@LoadBalanced
RestTemplate restTemplate() {
	return new RestTemplate();
}

參考資料

https://www.cnblogs.com/javazhiyin/p/9851775.html
https://blog.csdn.net/u012702547/article/details/77940838

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章