restTemplate是啥
通常情况下,在java代码里访问restful接口时,一般是使用HttpClient
或者自己封装一个HttpUtils
来实现,实现同样的功能,这种方式比较繁琐。spring提供了一个简单的类来处理这个操作,就是org.springframework.web.client.RestTemplate
。
一个例子
简单的接口
1
2
3
4
5
6
7
8
9
"/rest") (
public class RestTestController {
"/demo") (
public ResData demo(@RequestBody RequestBean requestBean) {
System.out.println(requestBean);
return ResDataUtils.success("success", "data", "extra");
}
}客户端访问
1
2
3
4
5
6
7
8
9
10
public void testRestTemplate() throws Exception {
String url = "http://localhost:8081/rest/demo";
RequestBean requestBean = new RequestBean();
requestBean.setParam("param");
requestBean.setParam2("param2");
RestTemplate restTemplate = new RestTemplate();
ResData resData = restTemplate.postForObject(url, requestBean, ResData.class);
System.out.println(resData);
}上面只是一个简单的例子,其中调用
RestTemplate
的postForObject
方法,主要参数有url
、request
、responseType
默认转换方式是json。因为RestTemplate
是rest风格,所有会支持get
、post
、put
、delete
四种请求方式。具体可以参考官方的api RestTemplate