@RestControllerAdvice 代码示例
时间: 2024-04-27 15:18:50 浏览: 108
Spring注解@RestControllerAdvice原理解析
@RestControllerAdvice是Spring框架中的一个注解,用于全局处理异常。当我们的应用程序抛出异常时,可以使用@RestControllerAdvice来统一处理这些异常,避免重复的代码,提高代码的可维护性和可读性。
以下是一个使用@RestControllerAdvice处理异常的示例代码:
```
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = {RuntimeException.class})
public ResponseEntity<String> handleRuntimeException(RuntimeException e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("出现了运行时异常:" + e.getMessage());
}
@ExceptionHandler(value = {Exception.class})
public ResponseEntity<String> handleException(Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("出现了异常:" + e.getMessage());
}
}
```
在上面的示例中,我们定义了一个名为GlobalExceptionHandler的类,并使用@RestControllerAdvice注解标注这个类。然后,我们定义了两个异常处理方法:handleRuntimeException和handleException。这两个方法都使用@ExceptionHandler注解来指定它们要处理的异常类型。当应用程序抛出这些异常时,Spring框架会自动调用这些方法来处理异常,并返回统一格式的响应信息。
阅读全文