在使用spring的RestTemplate方法远程调用接口的时候需要自己拼接链接,这样封装一大串数据不美观,阅读性也不强,如果封装一个方法,把参数封装在Map集合里面,然后传入url和Map得到自己想要的接口。
@Autowired
private RestTemplate restTemplate;
public String getForObject(String requestUrl, Map<String, Object> dataValue) {
Iterator<Map.Entry<String, Object>> iterator = dataValue.entrySet().iterator();
StringBuffer sb = new StringBuffer();
sb.append("?");
while (iterator.hasNext()) {
Map.Entry<String, Object> e = iterator.next();
String key = e.getKey();
String value = e.getValue() == null ? "" : e.getValue().toString();
sb.append(key+"=").append(value).append("&");
}
String url = sb.toString();
url = url.substring(0,url.length() - 1);
url = requestUrl + url;
return restTemplate.getForObject(url,String.class);
}
大致结构如果, 返回值可以根据特定的条件来封装。视具体情况来返回