Jika Anda lebih suka Daftar Objek, salah satu cara untuk melakukannya adalah seperti ini:
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;
}
Dan gunakan seperti ini:
List<SomeObject> list = someService.getApi("http://localhost:8080/some/api",HttpMethod.GET);
Penjelasan untuk hal di atas dapat ditemukan di sini ( https://www.baeldung.com/spring-rest-template-list ) dan diparafrasekan di bawah ini.
"Ada beberapa hal yang terjadi dalam kode di atas. Pertama, kami menggunakan ResponseEntity sebagai tipe pengembalian kami, menggunakannya untuk membungkus daftar objek yang benar-benar kami inginkan. Kedua, kami memanggil RestTemplate.exchange () alih-alih getForObject () .
Ini adalah cara paling umum untuk menggunakan RestTemplate. Ini mengharuskan kami untuk menentukan metode HTTP, badan permintaan opsional, dan jenis respons. Dalam hal ini, kami menggunakan subkelas anonim dari ParameterizedTypeReference untuk tipe respons.
Bagian terakhir inilah yang memungkinkan kita untuk mengubah respons JSON menjadi daftar objek yang merupakan tipe yang sesuai. Saat kami membuat subkelas anonim dari ParameterizedTypeReference, ia menggunakan refleksi untuk menangkap informasi tentang tipe kelas yang ingin kami konversi responsnya.
Itu berpegang pada informasi ini menggunakan objek Type Java, dan kita tidak perlu lagi khawatir tentang penghapusan tipe. "