场景
ResponseEntity接收结果时报错:
java.util.LinkedHashMap cannot be cast to ***
解决方案
使用序列化参数。
Map<String, String> params = new HashMap<>();
params.put("userName","likui");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("Accept", "application/json");
HttpEntity<JSONObject> httpEntity
= new HttpEntity(params,headers); // 这里的params可以是map,也可以是其他实体
ResponseEntity<JsonResult<ListData>> exchange
= restTemplate.exchange(
"http://api.test.com/showtime",
HttpMethod.POST,
httpEntity,
new ParameterizedTypeReference<JsonResult<ListData>>() {}
);
实测问题解决。
其他
网上还有其他方案说,将对象先序列化为json,再反序列化,实测还是报错。