@RestControllerAdvice 和ControllerAdvice 的区别
时间: 2023-08-25 08:17:19 浏览: 93
@RestController和@Controller注解的区别1
@RestControllerAdvice 和 @ControllerAdvice 都是用来处理全局异常的注解,二者的区别在于它们的返回值和使用场景略有不同。
@ControllerAdvice 注解的作用是用来处理 Controller 层抛出的异常,它可以定义一个全局的异常处理器,用于处理 Controller 层抛出的异常。@ControllerAdvice 注解可以配合 @ExceptionHandler 注解来定义异常处理方法,当 Controller 层抛出异常时,会自动调用对应的异常处理方法。
@RestControllerAdvice 注解的作用和 @ControllerAdvice 相似,不同的是 @RestControllerAdvice 注解返回的是 JSON 格式的数据,适用于前后端分离的项目。在使用 @RestControllerAdvice 注解时,需要在异常处理方法上添加 @ResponseBody 注解,以便正确地返回 JSON 格式的数据。
综上所述,@ControllerAdvice 注解适用于传统的 MVC 项目,而 @RestControllerAdvice 注解适用于前后端分离的 RESTful 项目。
阅读全文