RestTemplate是spring提供了一种简单便捷的模板类
POST请求
1.实例的创建
(1)RestTemplate() 创建默认设置的实例
(2)RestTemplate(ClientHttpRequestFactory requestFactory)
(3)RestTemplate(List<HttpMessageConverter<?>> messageConverters)
2.使用
RestTemplate restTemplate = new RestTemplate()
(1)post
首先构建header 和body
然后将二者拼接起来
将拼接好的实例方法request处
postForObject(URI url, Object request, Class responseType)
返回的只有body部分,没有状态码和header部分
postForEntity(URI url, Object request, Class responseType)
返回的是ResponseEntity,ResponseEntity包含header、body部分
response.getBody()
response.getHeaders()
(2)get
先拼接好body部分,一般为json格式,可以采用map实现
将map放在url的拼接处
public T getForObject(URI url,Class responseType)
此处的url一般会需要拼接
eg:
Map<String, String> map = new HashMap<>();
map.put("Id", ID);
map.put("secret", SECRET);
map.put("code", CODE);
String result = restTemplate.postForObject("https://ip.com" +
"/aaa/oauth2/access_token?id={Id}&secret={secret}&code={code}&grant_type=authorization_code",null, String.class, map);
public ResponseEntity getForEntity(URI url, Class responseType)
返回的是ResponseEntity类型,与postForEntity返回的类似。