Cómo manejar con gracia y uniformidad el manejo de excepciones globales de spingboot

Al manejar excepciones globales en una aplicación Spring Boot, puede usar las anotaciones @ControllerAdvice y @ExceptionHandler para lograr un manejo de excepciones unificado y elegante.

Paso 1: Crea un proyecto de Spring Boot

Cree un nuevo proyecto Spring Boot en IntelliJ IDEA y agregue las dependencias requeridas.

Paso 2: Definir una clase de excepción personalizada

En el directorio src/main/java del proyecto, cree una clase de excepción personalizada para representar las excepciones que pueden ocurrir en la aplicación.

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
}

Paso 3: Cree una clase de manejo de excepciones unificada

En el directorio src/main/java del proyecto, cree una clase de manejo de excepciones unificada y use las anotaciones @ControllerAdvice y @ExceptionHandler para capturar y manejar excepciones globales.

@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);
    }
}

Paso 4: crear una clase de respuesta de error

En el directorio src/main/java del proyecto, cree una clase de respuesta de error para encapsular la información de error.

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
}

Paso 5: Cree un controlador de muestra

En el directorio src/main/java del proyecto, cree una clase de controlador de muestra para activar excepciones personalizadas.

@RestController
public class ExampleController {
    
    

    @GetMapping("/example")
    public void example() {
    
    
        throw new CustomException("400", "Bad Request");
    }
}

Paso 6: Ejecute la aplicación

En IntelliJ IDEA, ejecute la aplicación Spring Boot.

Paso 7: Probar el manejo de excepciones

Acceder a la ruta http://localhost:8080/example con cualquier cliente HTTP (como Postman) debería desencadenar una CustomException y devolver una respuesta de error.

Supongo que te gusta

Origin blog.csdn.net/zhijiesmile/article/details/130786501
Recomendado
Clasificación