यदि आप वस्तुओं की सूची पसंद करेंगे, तो ऐसा करने का एक तरीका इस प्रकार है:
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;
}
और इसका इस्तेमाल ऐसे करें:
List<SomeObject> list = someService.getApi("http://localhost:8080/some/api",HttpMethod.GET);
उपरोक्त के लिए स्पष्टीकरण यहां पाया जा सकता है ( https://www.baeldung.com/spring-rest-template-list ) और नीचे लिखा है।
"उपरोक्त कोड में कुछ चीज़ें हो रही हैं। सबसे पहले, हम रिस्पोंसएंटिटी का उपयोग हमारे रिटर्न प्रकार के रूप में करते हैं, इसका उपयोग हम उन वस्तुओं की सूची को लपेटने के लिए करते हैं जिन्हें हम वास्तव में चाहते हैं। दूसरा, हम getForObject () के बजाय RestTemplate.exchange () कह रहे हैं। ।
RestTemplate का उपयोग करने का यह सबसे सामान्य तरीका है। इसके लिए हमें HTTP विधि, वैकल्पिक अनुरोध निकाय और एक प्रतिक्रिया प्रकार निर्दिष्ट करना होगा। इस मामले में, हम प्रतिक्रिया प्रकार के लिए ParameterizedTypeReference के एक अनाम उपवर्ग का उपयोग करते हैं।
यह अंतिम भाग वह है जो हमें JSON प्रतिक्रिया को उन वस्तुओं की सूची में बदलने की अनुमति देता है जो उपयुक्त प्रकार हैं। जब हम ParameterizedTypeReference का एक अनाम उपवर्ग बनाते हैं, तो यह उस प्रतिबिंब के उपयोग के लिए होता है जिस वर्ग के बारे में हम अपनी प्रतिक्रिया को बदलना चाहते हैं।
यह जावा के प्रकार ऑब्जेक्ट का उपयोग करके इस जानकारी को रखता है, और हमें अब प्रकार के क्षरण के बारे में चिंता करने की आवश्यकता नहीं है। "