java / beginner
Snippet
Behandeln benutzerdefinierter Ausnahmen mit Controller Advice
In Spring-Anwendungen vermeidet die zentrale Fehlerbehandlung wiederholte Try-Catch-Blöcke in den Controllern. Die Annotation @RestControllerAdvice fängt Ausnahmen ab, die von Handler-Methoden in der gesamten Anwendung ausgelöst werden, während @ExceptionHandler einen bestimmten Ausnahmetyp auf eine strukturierte HTTP-Antwort abbildet.
snippet.java
java
1
2
3
4
5
6
7
8
@RestControllerAdvicepublic class GlobalExceptionHandler {@ExceptionHandler(UserNotFoundException.class)public ResponseEntity<String> handleUserNotFound(UserNotFoundException ex) {return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());}}
spring
Erklärung
1
@RestControllerAdvice
Registriert diese Klasse als globalen Interceptor für Ausnahmen, die in REST-Controllern ausgelöst werden.
2
@ExceptionHandler(UserNotFoundException.class)
Gibt an, dass die Methode ausgeführt werden soll, wenn eine UserNotFoundException geworfen wird.
3
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
Erstellt und liefert eine HTTP 404-Antwort mit der Ausnahmenachricht als Body zurück.