springMVC @RestControllerAdvice注解使用方式
使用 @RestControllerAdvice
的主要场景包括:
- 全局异常处理:处理所有控制器中抛出的未捕获异常。
- 数据校验失败处理:处理 Bean Validation 校验失败的情况。
- 自定义响应:统一定义响应格式或错误信息。
@RestControllerAdvice
注解的类通常与以下组件结合使用:
@ExceptionHandler
:用于处理特定的异常类型。@ResponseStatus
:用于定义异常的HTTP状态。@ExceptionHandler
方法可以访问异常对象、请求对象(WebRequest
)、响应对象等,以构造合适的响应。
以下是一个简单的示例,演示如何使用 @RestControllerAdvice
:
java
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.http.HttpStatus;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
@RestControllerAdvice
public class