赞
踩
前言:rest请求封装了很多api,满足各种请求方式以及参数的传递,常见的有post、get请求方式,丰富的请求方法。
post:postForObject、postForEntity、postForLocation
get:getForObject、getForEntity
当然每种请求方法都有不同的重载方法,满足大家不同的参数传递。
今天为大家讲解post请求方式中postForObject的用法以及get请求方式中的getForObject方法。
1.1.1postForObject
方法的重载方法有几种,今天简单的讲下其中做常用的一种重载方法:
有参:restTemplate.postForObject(url, Object,Class)
无参:restTemplate.postForObject(url, null,Class)
@Autowired
private RestTemplate restTemplate;
String url="https://blog.csdn.net/";
Map<String, Object> map = new HashMap<>();
map.put("name", “张三”);
map.put("age", 25);
Map<String, Object> resultMap = restTemplate.postForObject(url, map, Map.class);
Map<String, String> dataMap = (Map<String, String>) resultMap.get("data");
1.1.2如果我们的请求中,需要权限验证
,比如附带token
参数,代码如下:
Map<String, Object> params = new HashMap<>();
params.put("name", “张三”);
HttpHeaders headers = new HttpHeaders();
headers.set("token", “c01g3a4p3u5”);
HttpEntity httpEntity = new HttpEntity(params, headers);
Map<String, Object> resultMap = restTemplate.postForObject(url, httpEntity, Map.class);
Map<String, String> dataMap = (Map<String, String>) resultMap.get("data");
2.1.1 getForObject与postForObject的请求方法区别不大,简要概述:
有参:
restTemplate.getForObject(url, Class,Object)
无参:
restTemplate.getForObject(url,Class);
String url="https://blog.csdn.net/";
Map<String, Object> map = new HashMap<>();
map.put("page", 1);
map.put("size", 10);
Map<String, Object> resultMap = restTemplate.getForObject(url+”?currentPage={page}&pageSize={size}“,Map.class,map );
Map<String, String> dataMap = (Map<String, String>) resultMap.get("data");
2.1.2 调用带有token的get接口
String token = prcCsService.getCsToken();
Map<String, Object> param = new HashMap<>();
param.put("page", 1);
param.put("size", 1);
HttpHeaders headers = new HttpHeaders();
headers.add("accessToken", token);
ResponseEntity<Map> response = restTemplate.exchange(
synchroIbuildUrl + "?currentPage={page}&pageSize={size}",
HttpMethod.GET,
new HttpEntity<String>(headers),
Map.class,
param);
Map<String, Object> bodyMap = response.getBody();
Map<String, Object> mapObj = (Map<String, Object>) bodyMap.get("obj");
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。