Ho un'API RESTful che sto cercando di connettermi tramite Android e RestTemplate. Tutte le richieste all'API sono autenticate con l'autenticazione HTTP, tramite l'impostazione delle intestazioni di HttpEntity e quindi utilizzando il metodo exchange()
di RestTemplate.Esecuzione di richieste POST autenticate con Spring RestTemplate per Android
Tutte le richieste GET funzionano in questo modo, ma non riesco a capire come eseguire richieste POST autenticate. postForObject
e postForEntity
gestiscono i POST, ma non hanno un modo semplice per impostare le intestazioni di autenticazione.
Così per GET, questa grande opera:
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);
Ma POST a quanto pare non funzionano con exchange()
quanto mai invia le intestazioni personalizzate e non vedo come impostare il corpo richiesta utilizzando exchange()
.
Qual è il modo più semplice per eseguire richieste POST autenticate da RestTemplate?
requestHeaders.setAuthorization (httpAuthentication) .. il suo metodo undefined..no come setAuthorization .. – DEADEND