Hi,
also folgende Situation. Ich habe eine Spring-Boot Anwendung, die einen Http-Post Request ausführt. Als Antwort bekomme ich entweder den HTTP-Status 200 mit einem Objekt (wenn alles gepasst hat) oder den HTTP-Status 500 mit einem Fehler-Objekt (wenn etwas schief gelaufen ist).
Folgender Code führt den HTTP-Request nun erfolgreich aus und speichert das Ergebnis in dem Attribut entity. Erhalte ich nun als Antwort einen HttpStatus, der nicht 200 ist, wird die HttpStatusCodeException geworfen.
e.getResponeBodyAsString gibt mir das JSON als String zurück, das ich im Fehlerfall bekomme.
Nun möchte ich aber das JSON im Fehlerfall nicht als String ausgeben, sondern wie im Erfolgsfall in ein DTO-Objekt schreiben. Wie mache ich das?
also folgende Situation. Ich habe eine Spring-Boot Anwendung, die einen Http-Post Request ausführt. Als Antwort bekomme ich entweder den HTTP-Status 200 mit einem Objekt (wenn alles gepasst hat) oder den HTTP-Status 500 mit einem Fehler-Objekt (wenn etwas schief gelaufen ist).
Folgender Code führt den HTTP-Request nun erfolgreich aus und speichert das Ergebnis in dem Attribut entity. Erhalte ich nun als Antwort einen HttpStatus, der nicht 200 ist, wird die HttpStatusCodeException geworfen.
e.getResponeBodyAsString gibt mir das JSON als String zurück, das ich im Fehlerfall bekomme.
Nun möchte ich aber das JSON im Fehlerfall nicht als String ausgeben, sondern wie im Erfolgsfall in ein DTO-Objekt schreiben. Wie mache ich das?
Code:
try {
final ResponseEntity<SuccessDto> entity = this.restTemplate.postForEntity(URL, request, SuccessDto.class);
}
catch (HttpStatusCodeException e) {
System.out.println(e.getResponseBodyAsString());
}