Bei der Behandlung globaler Ausnahmen in einer Spring Boot-Anwendung können Sie die Annotationen @ControllerAdvice und @ExceptionHandler verwenden, um eine elegante einheitliche Ausnahmebehandlung zu erreichen.
Schritt 1: Erstellen Sie ein Spring Boot-Projekt
Erstellen Sie ein neues Spring Boot-Projekt in IntelliJ IDEA und fügen Sie die erforderlichen Abhängigkeiten hinzu.
Schritt 2: Definieren Sie eine benutzerdefinierte Ausnahmeklasse
Erstellen Sie im Verzeichnis src/main/java des Projekts eine benutzerdefinierte Ausnahmeklasse, um Ausnahmen darzustellen, die in der Anwendung auftreten können.
public class CustomException extends RuntimeException {
private String errorCode;
private String errorMessage;
public CustomException(String errorCode, String errorMessage) {
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
// getter and setter methods
}
Schritt 3: Erstellen Sie eine einheitliche Ausnahmebehandlungsklasse
Erstellen Sie im Verzeichnis src/main/java des Projekts eine einheitliche Ausnahmebehandlungsklasse und verwenden Sie die Annotationen @ControllerAdvice und @ExceptionHandler, um globale Ausnahmen zu erfassen und zu behandeln.
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(CustomException.class)
public ResponseEntity<ErrorResponse> handleCustomException(CustomException ex) {
ErrorResponse errorResponse = new ErrorResponse(ex.getErrorCode(), ex.getErrorMessage());
return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
}
@ExceptionHandler(Exception.class)
public ResponseEntity<ErrorResponse> handleGenericException(Exception ex) {
ErrorResponse errorResponse = new ErrorResponse("500", "Internal Server Error");
return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
Schritt 4: Erstellen Sie eine Fehlerantwortklasse
Erstellen Sie im Verzeichnis src/main/java des Projekts eine Fehlerantwortklasse zum Kapseln von Fehlerinformationen.
public class ErrorResponse {
private String errorCode;
private String errorMessage;
public ErrorResponse(String errorCode, String errorMessage) {
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
// getter and setter methods
}
Schritt 5: Erstellen Sie einen Beispielcontroller
Erstellen Sie im Verzeichnis src/main/java des Projekts eine Beispiel-Controller-Klasse zum Auslösen benutzerdefinierter Ausnahmen.
@RestController
public class ExampleController {
@GetMapping("/example")
public void example() {
throw new CustomException("400", "Bad Request");
}
}
Schritt 6: Führen Sie die Anwendung aus
Führen Sie in IntelliJ IDEA die Spring Boot-Anwendung aus.
Schritt 7: Ausnahmebehandlung testen
Der Zugriff auf den Pfad http://localhost:8080/example mit einem beliebigen HTTP-Client (z. B. Postman) sollte eine CustomException auslösen und eine Fehlerantwort zurückgeben.