我想返回ResponseEntity<List<Payment>>的格式类型,如何在保持泛型的同时List<Payment>,使用restTemplate.getForEntity返回正确的数据类型。
下面的代码是错误的,不兼容的返回类型:
@GetMapping
public ResponseEntity<List<Payment>> getPayment(Payment payment) {
return restTemplate.getForEntity(SERVERURL + "/payment", List.class);
}
提示信息:
Required type:
ResponseEntity <List<Payment>>
Provided:
ResponseEntity<List>
Incompatible equality constraint: List<Payment> and List
将返回类型去掉泛型,返回类型为 ResponseEntity<List>,可以解决兼容问题并返回数据。
@GetMapping
public ResponseEntity<List> getPayment(Payment payment) {
return restTemplate.getForEntity(SERVERURL + "/payment", List.class);
}
但是如何做,才能返回类型匹配 ResponseEntity<List<Payment>>。
@GetMapping
public ResponseEntity<List<Payment>> getPayment(Payment payment) {
List<Payment> list = new ArrayList<>();
return restTemplate.getForEntity(SERVERURL + "/payment", list.getClass());
}
错误提示:
Required type:
ResponseEntity <List<Payment>>
Provided:
ResponseEntity <capture of ? extends List>
Incompatible equality constraint: List<Payment> and capture of ? extends List