Bir Nesne Listesi tercih ederseniz, bunu yapmanın bir yolu şöyledir:
public <T> List<T> getApi(final String path, final HttpMethod method) {
final RestTemplate restTemplate = new RestTemplate();
final ResponseEntity<List<T>> response = restTemplate.exchange(
path,
method,
null,
new ParameterizedTypeReference<List<T>>(){});
List<T> list = response.getBody();
return list;
}
Ve şu şekilde kullanın:
List<SomeObject> list = someService.getApi("http://localhost:8080/some/api",HttpMethod.GET);
Yukarıdakilere ilişkin açıklama burada bulunabilir ( https://www.baeldung.com/spring-rest-template-list ) ve aşağıda yorumlanmıştır.
"Yukarıdaki kodda birkaç şey oluyor. İlk olarak, gerçekten istediğimiz nesnelerin listesini sarmak için kullanarak ReturnEntity'yi dönüş türümüz olarak kullanıyoruz. İkincisi, getForObject () yerine RestTemplate.exchange () öğesini çağırıyoruz. .
RestTemplate'i kullanmanın en genel yolu budur. HTTP yöntemini, isteğe bağlı istek gövdesini ve bir yanıt türünü belirtmemizi gerektirir. Bu durumda, yanıt türü için anonim bir ParameterizedTypeReference alt sınıfı kullanırız.
Bu son bölüm, JSON yanıtını uygun türdeki nesneler listesine dönüştürmemize izin veren şeydir. ParameterizedTypeReference için anonim bir alt sınıf oluşturduğumuzda, yanıtımızı dönüştürmek istediğimiz sınıf türü hakkında bilgi yakalamak için yansıma kullanır.
Java'nın Type nesnesini kullanarak bu bilgileri saklıyor ve artık tür silme konusunda endişelenmemize gerek yok. "