के लिए स्प्रिंग रेस्ट टेम्पलेट के साथ प्रमाणित POST अनुरोध बनाना मेरे पास एक विश्वसनीय API है जिसे मैं एंड्रॉइड और रेस्ट टेम्पलेट के माध्यम से कनेक्ट करने का प्रयास कर रहा हूं। एपीआई के सभी अनुरोध HTTP प्रमाणीकरण के साथ प्रमाणीकृत हैं, HttpEntity के शीर्षकों को सेट करके और फिर RestTemplate की exchange()
विधि का उपयोग कर।एंड्रॉइड
सभी GET अनुरोध इस तरह से काम करते हैं, लेकिन मैं प्रमाणित पोस्ट अनुरोधों को पूरा करने का तरीका नहीं समझ सकता। postForObject
और postForEntity
POST को संभालते हैं, लेकिन प्रमाणीकरण शीर्षलेख सेट करने का कोई आसान तरीका नहीं है।
तो हो जाता है, तो इस महान काम करता है:
HttpAuthentication httpAuthentication = new HttpBasicAuthentication("username", "password");
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAuthorization(httpAuthentication);
HttpEntity<?> httpEntity = new HttpEntity<Object>(requestHeaders);
MyModel[] models = restTemplate.exchange("/api/url", HttpMethod.GET, httpEntity, MyModel[].class);
लेकिन पदों जाहिरा तौर पर exchange()
साथ काम नहीं करते यह कभी नहीं अनुकूलित हेडर भेजता है और मैं exchange()
का उपयोग कर अनुरोध शरीर स्थापित करने के लिए कैसे नहीं दिख रहा है के रूप में।
RestTemplate से प्रमाणीकृत POST अनुरोध करने का सबसे आसान तरीका क्या है?
requestHeaders.setAuthorization (httpAuthentication) .. इस तरह के setAuthorization के रूप में अपनी undefined..no विधि .. – DEADEND