【发布时间】:2020-02-03 20:29:11
【问题描述】:
我正在尝试使用 Spring RestTemplate 获取对象列表。我很困惑为什么选择 ParameterizedTypeReference 方法来使用 restTemplate 而不是只使用 Object[].class 来获取对象列表?
我已经检查了多个建议使用 ParameterizedTypeReference 的答案。但是为什么我不能只使用 Object[].class?我有什么限制?
我已经检查了这个链接 (https://stackoverflow.com/a/49752261/6001027),它说,我只能在简单的情况下使用 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));
【问题讨论】:
标签: java arrays spring arraylist resttemplate