HttpMethod | JavaMethod |
---|---|
Get | getForObject |
getForEntity | |
Post | postForObject |
postForEntity | |
put | put |
delete | delete |
any | exchange |
execute |
带请求头,请求体的post请求
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.add("accept", "application/json");
// AccessToken放在请求头中
requestHeaders.add("Authorization", "Bearer " + accessToken);
// 请求体放在 HttpEntity 中
HttpEntity<RequestBodyDTO> requestEntity = new HttpEntity<>(requestBodyDTO, requestHeaders);
RestTemplate restTemplate = new RestTemplate();
// 注意第二个参数是HttpEntity类型的,可以直接是请求体参数吗?
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
// 等效于
// ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
String responseStr = response.getBody();
Get Entity
// 可以
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);
// 报错
ResponseEntity<String> response = restTemplate.getForEntity(url,requestEntity, String.class);
参考文章:
https://www.cnblogs.com/zhaoyan001/p/8442602.html
https://www.cnblogs.com/javazhiyin/p/9851775.html