Wie man die globale Ausnahmebehandlung von Springboot elegant und einheitlich handhabt

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.

おすすめ

転載: blog.csdn.net/zhijiesmile/article/details/130786501
おすすめ