我正在尝试使用Spring RestTemplate获取对象列表。我对为什么要选择ParameterizedTypeReference方法来使用restTemplate获取对象列表感到困惑,而不只是使用Object[] .class。
我已经查看了多个答案,建议使用ParameterizedTypeReference。但是我为什么不能只使用Object[] .class呢?我有哪些限制?
我查看了这个链接(https://dev59.com/8FUL5IYBdhLWcg3wzq2a#49752261),其中说到,我只能在简单情况下使用Object[],在处理复杂的JSON结构时必须使用ParameterizedTypeReference。有人能解释一下在什么情况下我不能使用Object[]方法吗?
ParameterizedTypeReference方法:
ResponseEntity<List<Rating>> responseEntity =
restTemplate.exchange("http://localhost:8084/ratingsdata/user/" + userId,
HttpMethod.GET, null, new ParameterizedTypeReference<List<Rating>>() {
});
List<Rating> ratings = responseEntity.getBody();
Object[] 方法:
List<Rating> ratings = Arrays.asList(restTemplate.getForObject("http://localhost:8084/ratingsdata/user/"+userId, Rating[].class));