每天一个注解之@RestControlleradvice

@RestControlleradvice

@RestControllerAdvice 是一个Spring框架中的注解,用于处理全局异常,并将异常处理逻辑集中到一个类中,以减少代码重复性并提供一致的异常处理。通常,@RestControllerAdvice 注解与@ExceptionHandler 注解结合使用,以处理不同类型的异常,生成适当的响应。

全局异常处理

@RestControllerAdvice 注解用于标记一个类,该类包含一组方法,这些方法用于处理应用程序中抛出的异常。这些方法通常用于捕获异常,并生成与异常类型相关的响应。

与@ExceptionHandler 结合使用:@ExceptionHandler 注解通常与 @RestControllerAdvice 一起使用,以处理特定类型的异常。在 @RestControllerAdvice 类中的方法使用 @ExceptionHandler 注解来指定要处理的异常类型。当应用程序抛出匹配的异常类型时,相关的 @ExceptionHandler 方法将被调用。

@RestControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(NotFoundException.class)
    public ResponseEntity<String> handleNotFoundException(NotFoundException ex) {
        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
    }

    @ExceptionHandler(BadRequestException.class)
    public ResponseEntity<String> handleBadRequestException(BadRequestException ex) {
        return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(ex.getMessage());
    }
}

返回响应

@ExceptionHandler 方法通常返回一个包含响应数据的 ResponseEntity 对象,以便生成适当的HTTP响应。这可以包括错误消息、状态码和其他相关信息。

异常处理的集中性:使用 @RestControllerAdvice 和 @ExceptionHandler 可以将异常处理逻辑集中在一个位置,减少了重复的代码,提高了代码维护性和一致性。

适用于RESTful API:@RestControllerAdvice 注解通常与RESTful API一起使用,以确保API的异常处理得到有效的管理。

全局异常处理的扩展性

可以创建多个 @RestControllerAdvice 类来处理不同类型的异常,从而使异常处理逻辑更加灵活和可扩展。

@RestControllerAdvice 注解是Spring框架中的一项强大功能,它允许集中管理和处理应用程序中的异常,以便生成一致的响应,并提高应用程序的可维护性。这对于构建RESTful API或Web应用程序是特别有用的。

你可能感兴趣的:(每天一个注解,spring,cloud,java)