RestControllerAdvice和ControllerAdvice的区别
时间: 2023-10-31 19:48:49 浏览: 118
RestControllerAdvice是专门用于RESTful风格的控制器的异常处理类的注解,而ControllerAdvice是用于普通控制器的异常处理类的注解。RestControllerAdvice处理的异常是返回json格式的数据,而ControllerAdvice处理的异常是返回视图或者重定向。
相关问题
@RestControllerAdvice和ControllerAdvice区别
@RestControllerAdvice 和 @ControllerAdvice 是 Spring 框架中用于处理异常的注解。
@ControllerAdvice 是一个注解,用于定义一个全局的异常处理器类。被该注解修饰的类可以使用 @ExceptionHandler、@InitBinder 和 @ModelAttribute 注解来处理在整个应用中抛出的异常、数据绑定问题和模型属性的初始化。该类中的方法可以捕获到被 @RequestMapping 注解的方法抛出的异常,并进行相应的处理。
@RestControllerAdvice 是 @ControllerAdvice 的一个变体。与 @ControllerAdvice 相比,@RestControllerAdvice 注解将类中所有方法的结果直接发送给客户端,而不是通过视图解析器进行渲染。通常情况下,如果应用程序返回 JSON 或 XML 响应,可以使用 @RestControllerAdvice 来处理异常。
因此,区别就在于 @ControllerAdvice 用于处理视图解析器相关的异常,而 @RestControllerAdvice 用于处理返回 JSON 或 XML 响应的异常。
@RestControllerAdvice 和ControllerAdvice 的区别
@RestControllerAdvice 和 @ControllerAdvice 都是用来处理全局异常的注解,二者的区别在于它们的返回值和使用场景略有不同。
@ControllerAdvice 注解的作用是用来处理 Controller 层抛出的异常,它可以定义一个全局的异常处理器,用于处理 Controller 层抛出的异常。@ControllerAdvice 注解可以配合 @ExceptionHandler 注解来定义异常处理方法,当 Controller 层抛出异常时,会自动调用对应的异常处理方法。
@RestControllerAdvice 注解的作用和 @ControllerAdvice 相似,不同的是 @RestControllerAdvice 注解返回的是 JSON 格式的数据,适用于前后端分离的项目。在使用 @RestControllerAdvice 注解时,需要在异常处理方法上添加 @ResponseBody 注解,以便正确地返回 JSON 格式的数据。
综上所述,@ControllerAdvice 注解适用于传统的 MVC 项目,而 @RestControllerAdvice 注解适用于前后端分离的 RESTful 项目。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)