@RestControllerAdvice

@RestControllerAdvice是一个组合注解,由@ControllerAdvice、@ResponseBody组成,而@ControllerAdvice继承了@Component,因此@RestControllerAdvice本质上是个Component,用于定义@ExceptionHandler,@InitBinder和@ModelAttribute方法,适用于所有使用@RequestMapping方法。

  1. 注解了@RestControllerAdvice的类的方法可以使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上。
  2. @RestControllerAdvice注解将作用在所有注解了@RequestMapping的控制器的方法上。
  3. @ExceptionHandler:用于指定异常处理方法。当与@RestControllerAdvice配合使用时,用于全局处理控制器里的异常。
  4. @InitBinder:用来设置WebDataBinder,用于自动绑定前台请求参数到Model中。
  5. @ModelAttribute:本来作用是绑定键值对到Model中,当与@RestControllerAdvice配合使用时,可以让全局的@RequestMapping都能获得在此处设置的键值对