@ControllerAdvice 与 @RestControllerAdvice
时间: 2023-11-18 19:53:08 浏览: 27
@ControllerAdvice 和 @RestControllerAdvice 都是 Spring 框架中用于全局异常处理的注解,其中 @RestControllerAdvice 专门用于 RESTful 接口的异常处理。
@ControllerAdvice 用于处理所有 Controller 层抛出的异常,可以通过 @ExceptionHandler 注解来指定处理哪些异常类型。同时,@ControllerAdvice 还可以定义全局的数据绑定、格式化等操作。
@RestControllerAdvice 继承了 @ControllerAdvice 的所有功能,同时还支持将返回值直接序列化为 JSON 格式,方便 RESTful 接口的开发。
相关问题
@RestControllerAdvice和@ControllerAdvice
@RestControllerAdvice和@ControllerAdvice是Spring框架中用于对Controller进行增强的注解。其中,@RestControllerAdvice是由@ControllerAdvice和@ResponseBody注解组合而成的。\[1\]
@ControllerAdvice主要用于解决多个Controller中的共性问题,例如处理全局异常、处理全局的入参和出参转换等。可以通过指定不同的参数来限定@ControllerAdvice的作用范围,比如指定注解、指定包或指定特定的控制器类型。\[2\]
@RestControllerAdvice则是专门用于增强带有@RestController注解的控制器的。它可以实现与@ControllerAdvice相同的功能,同时还会将返回的结果直接转换为JSON格式。\[1\]
总结来说,@ControllerAdvice和@RestControllerAdvice都是用于对Controller进行增强的注解,可以解决多个Controller中的共性问题,但@RestControllerAdvice还会将返回结果转换为JSON格式。\[1\]\[2\]
#### 引用[.reference_title]
- *1* *3* [@ControllerAdvice 与 @RestControllerAdvice](https://blog.csdn.net/hfaflanf/article/details/127117091)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [@ControllerAdvice与@RestControllerAdvice](https://blog.csdn.net/cdliker/article/details/105516369)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
@restcontrolleradvice与@controlleradvice
@RestControllerAdvice和@ControllerAdvice是Spring框架中用于处理异常的注解。
@RestControllerAdvice注解用于定义一个全局的异常处理类,它可以捕获所有被@Controller注解标记的类中抛出的异常,并对这些异常进行统一的处理。
@ControllerAdvice注解也是用于定义一个全局的异常处理类,不过它可以捕获所有被@Controller注解标记的类中抛出的异常,包括页面跳转的异常。
它们的作用是统一处理异常,可以在其中定义不同的方法来处理不同类型的异常,并返回相应的错误信息或页面。这样可以使代码更加简洁和可维护,提高系统的健壮性和用户体验。