RestTempleate解读
GET请求
可以使用的注解:
@RequestMapping即支持get也支持post
@GetMapping仅支持Get
可以使用的方法
- getForEntity
需要带参数时推荐Map的方式
参数可以有两个,url,返回值类型
三个,url,返回值类型,get接口的参数(数组形式)
三个,url,返回值类型,get接口的参数(Map形式)
ResponseEntity responseEntity = restTemplate.getForEntity("http://PROVIDER/hello",String.class);
responseEntity.getBody();
responseEntity.getStatusCode();
responseEntity.getHeaders();
responseEntity.getStatusCodeValue();
- getForObject
是在getForEntity的封装,可以直接将body中的信息转化为制定对象,在仅需要body信息时,可以使用,使用方法和getForEntity类似。
POST请求
可以使用的注解:
@RequestMapping即支持get也支持post
@PostMapping
可以使用的方法:
- postForEntity 、postForObject、 postForLocation
注:参数的添加需要使用MultiValueMap,org.springframework.util.MultiValueMap类。
MultiValueMap data = new LinkedMultiValueMap();
data.put("id",1);
ResponseEntity responseEntity1 = restTemplate.postForEntity("http://PROVIDER/hello",data,String.class);
String responseEntity2 = restTemplate.postForObject("http://PROVIDER/hello",data,String.class);
URI respo = restTemplate.postForLocation("http://PROVIDER/hello",data,String.class);
PUT请求
DELETE请求
restTemplate.delete(“http://PROVIDER/hello”);
Restful规范
参考大神博客即可
https://www.cnblogs.com/kkdn/p/9124526.html