@RestControllerAdvice这个是干嘛的
时间: 2023-11-18 18:51:13 浏览: 122
RestControllerAdvice
@RestControllerAdvice 是一个注解,它允许我们定义一个全局的异常处理器和通知。
在Java中,当代码运行过程中发生异常时,如果没有对异常进行捕获或处理,程序会抛出一个异常,并终止执行。为了更好地处理这些异常情况,可以使用 @RestControllerAdvice 注解来定义一个类作为全局异常处理器。
以下是一些使用 @RestControllerAdvice 的例子:
```java
@RestControllerAdvice
public class GlobalExceptionHandler {
// 处理特定类型的异常
@ExceptionHandler(SpecificException.class)
public ResponseEntity<String> handleSpecificException(SpecificException ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("An error occurred");
}
// 处理所有的其他类型的异常
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleException(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("An error occurred");
}
}
```
上面的代码示例中,使用 @RestControllerAdvice 注解标记了一个类 GlobalExceptionHandler,它包含两个方法用于处理异常。其中,handleSpecificException 方法处理指定的 SpecificException 类型的异常;handleException 方法则处理其他任何类型的异常。这些方法通过注解 @ExceptionHandler 来指定要处理的异常类型并提供相应的处理逻辑。
阅读全文