Spring RestTemplate und generische Typen ParameterizedTypeReference-Auflistungen wie List <T>
Eine abstrakte Controller-Klasse erfordert eine Liste von Objekten aus REST. Wenn Sie Spring RestTemplate verwenden, wird es nicht der erforderlichen Klasse zugeordnet, sondern es wird Linked HashMAp @ zurückgegebe
public List<T> restFindAll() {
RestTemplate restTemplate = RestClient.build().restTemplate();
ParameterizedTypeReference<List<T>> parameterizedTypeReference = new ParameterizedTypeReference<List<T>>(){};
String uri= BASE_URI +"/"+ getPath();
ResponseEntity<List<T>> exchange = restTemplate.exchange(uri, HttpMethod.GET, null,parameterizedTypeReference);
List<T> entities = exchange.getBody();
// here entities are List<LinkedHashMap>
return entities;
}
Wenn ich benutze,
ParameterizedTypeReference<List<AttributeInfo>> parameterizedTypeReference =
new ParameterizedTypeReference<List<AttributeInfo>>(){};
ResponseEntity<List<AttributeInfo>> exchange =
restTemplate.exchange(uri, HttpMethod.GET, null,parameterizedTypeReference);
Es funktioniert gut. Kann aber nicht in alle Unterklassen jede andere Lösung setzen.