RestTemplate进行json映射时报class java.util.LinkedHashMap cannot be cast to class xxx 解决方案

mac2026-01-28  3

 

 

 

                               用feign 就好

 

 

 

 

List<User> userList = restTemplate.getForObject("http://user/getUser", List.class);

对List<T>带泛型的数据类型转换时  会报 class java.util.LinkedHashMap cannot be cast to class xxx 

网上有的办法:

遍历 list的每个对象 ,把object转json,再从json转实体类 ,这种办法也行,不过有更好的替代办法

ParameterizedTypeReference<List<User>> type = new  ParameterizedTypeReference<List<User>>() {};

ParameterizedTypeReference  和这个类的名字一样  他可以将泛型参数化

ParameterizedTypeReference<List<User>> type = new  ParameterizedTypeReference<List<User>>() {}; ResponseEntity<List<User>> responseEntity = restTemplate.exchange("http://user/getUser", HttpMethod.GET, null, type); List<User> userList = responseEntity.getBody();
最新回复(0)