本文目的在于记录使用spring集成的resttemplate时的心得。
1.使用模版模拟form表单发送普通数据或发送带有文件的数据
1 | private static final String URL = "http://127.0.0.1:8080/test_api/v1"; |
其中postForObject中url对应发送请求的地址,map为请求体(这样说很不规范),剩下的一个参数为该接口返回的对象类型。
注:可以参考 http://blog.csdn.net/mhmyqn/article/details/26395743 中文件上传的写法,很具体,感谢原作者。
2.模版的exchange方法
可以理解为一个通用的请求发送器,可以实现put,post,delete等请求,需要在exchange方法中传入必要的参数来确定他所要实现的功能。
3.模版的getForObject方法
应为没有表单参数,所以传参时有两种方法,一种是在url中后边加?来拼接get方法所要传递的参数,另一种使用resetful风格的url,例如:1
2
3
4Map<String, String> vars = new HashMap<String, String>();
vars.put("hotel", "42");
vars.put("booking", "21");
String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/bookings/{booking}", String.class, vars);
会转换为一个对http://example.com/hotels/42/rooms/41
的GET请求。