@ControllerAdvice
和 @RestControllerAdvice
注解都用于全局异常处理和统一处理响应,可以应用于整个应用程序的控制器。@ControllerAdvice
注解的类可以返回视图或模型数据,适用于传统的MVC应用程序。而 @RestControllerAdvice
注解的类将默认返回 JSON 格式的响应,适用于基于RESTful风格的API应用程序。@ControllerAdvice
注解的类可以返回视图,可以使用 ModelAndView
或 String
类型的返回值,可以进行页面跳转。而 @RestControllerAdvice
注解的类会将方法返回的对象序列化为 JSON 格式作为响应。在方法或类上添加@Response
注解即可。
综上所述,@ControllerAdvice
和 @RestControllerAdvice
在异常处理和统一响应处理方面的功能类似,只是注解的使用场景和响应格式有所不同。如果你的应用程序是基于MVC架构的传统应用,可以使用 @ControllerAdvice
注解;如果你的应用程序是基于RESTful风格的API应用,可以使用 @RestControllerAdvice
注解。