RestTemplate中的exchange
如果返回的结果是对象组合,使用postForObject是会有类型转换问题,需要使用exchange中的ParameterizedTypeReference指定返回类型。
List<Test> testList = restOperations.exchange(url, HttpMethod.POST, entity, new ParameterizedTypeReference<List<Test>>() {}).getBody();
但同时post需要提交参数的时候是存在问题的,header不能制定application/json;charset=UTF-8,而且封装的对象为MultiValueMap,HttpEntity 的第二个参数需为空
MultiValueMap<String, Object> params = new LinkedMultiValueMap<String, Object>();
params.add("pageNo",1);
HttpEntity entity = new HttpEntity(params,null);
List<Test> testList = restOperations.exchange(url, HttpMethod.POST, entity, new ParameterizedTypeReference<List<Test>>() {}).getBody();
摘抄自网络,便于检索查找。