多级泛型
项目中经常会用到RestTemplate,当我们使用RestTemplate去调用其他接口的时候,当返回的是一个普通的类或者一个字符串时,那正常使用即可,但是当这个接口返回一个List时(Doc是一个实体类),你只能用字符串来接收,然后在把这个字符串转换成这个对象,使用起来非常不便。这时候你可以用ParameterizedTypeReference这个类来帮你反序列化接收到的数据,如下:
HttpEntity<?> requestEntity = new HttpEntity<>(body, headers);
ResponseEntity<List<Doc>> response = client.exchange(url, HttpMethod.GET, requestEntity,
new ParameterizedTypeReference<List<Doc>>(){});
List<Doc> list = response.getBody();
这样的话,你接收到的就是一个反序列化好List对象,这样你在处理数据,省了转化的步骤,轻松而毫不费力。