I metodi di RestTemplate
come postForEntity()
restituiscono RestClientException
. Vorrei estrarre il codice di stato HTTP e il corpo della risposta da quell'oggetto eccezione nel blocco catch. Come lo posso fare?Come recuperare il codice di stato HTTP e il corpo della risposta quando viene generata un'eccezione RestClientException?
9
A
risposta
17
Invece di cattura RestClientException
, prendere la speciale HttpClientErrorException
.
Ecco un esempio:
try {
Link dataCenterLink = serviceInstance.getLink("dataCenter");
String dataCenterUrl = dataCenterLink.getHref();
DataCenterResource dataCenter =
restTemplate.getForObject(dataCenterUrl, DataCenterResource.class);
serviceInstance.setDataCenter(dataCenter);
} catch (HttpClientErrorException e) {
HttpStatus status = e.getStatusCode();
if (status != HttpStatus.NOT_FOUND) { throw e; }
}
HttpClientErrorException
fornisce getStatusCode
e getResponseBodyAsByteArray
per ottenere il codice di stato e il corpo, rispettivamente.
Problemi correlati
- 1. Risposta HTTP 500 con il corpo?
- 2. Codice di stato HTTP per il corpo POST non valido
- 3. Cattura e registra il corpo della risposta
- 4. Estensione Chrome - Come ottenere il corpo della risposta HTTP?
- 5. Come ottenere il codice di stato HTTP dalla risposta SOAP
- 6. Come ottenere il codice di stato della risposta da jQuery.ajax?
- 7. .NET: Verifica il codice di stato della risposta dell'URL?
- 8. Come analizzare il corpo della risposta in Java, quando la richiesta HTTP ha lo stato di ritorno 401
- 9. Come recuperare la lunghezza del corpo della risposta corrente?
- 10. come ottenere corpo della risposta in okhttp quando il codice è 401
- 11. Codice di stato HTTP per il reindirizzamento della lingua
- 12. Recupera l'intero corpo della risposta XML con il client HTTP di Guzzle 6
- 13. Problema unicode Node.js con il corpo di risposta HTTP
- 14. RestSharp - Come ottengo il codice numerico di risposta http?
- 15. Come recuperare il corpo di risposta con RxAndroid e Retrofit 2?
- 16. Come cambiare il corpo della risposta con Charles?
- 17. Come estrarre il corpo della risposta HTTP da una chiamata di richieste Python?
- 18. IErrorHandler che restituisce il corpo del messaggio errato quando il codice di stato HTTP è 401 Non autorizzato
- 19. Codice di stato HTTP per Captcha
- 20. Codice di stato HTTP in corso?
- 21. Un modo per ottenere il corpo della risposta durante gli errori HTTP?
- 22. Assert restituito il codice di stato HTTP 400 come successo
- 23. Il server ha restituito il codice di risposta HTTP: 400
- 24. Fetch API: ottenere il titolo, parole chiave e il corpo del testo dalla risposta http
- 25. codice di stato HTTP HEAD del verbo
- 26. Leggere il corpo di una risposta 400?
- 27. Golang: come leggere il corpo di risposta di ReverseProxy?
- 28. Codice risposta risposta Http Android
- 29. Come cambiare il corpo in risposta OkHttp?
- 30. come faccio a controllare un codice di stato di risposta della richiesta http da iOS?
Ho modificato la risposta per aggiungere ulteriori dettagli utili e rendere questa domanda/risposta più utile come canonica. –
Grande modifica. Grazie! –
più generico è 'HttpStatusCodeException' ereditato da' HttpClientErrorException' e 'HttpServerErrorException'. –