如果将异常处理程序放入带有注释的类中
@ControllerAdvice,则可以通过指定
annotation属性来配置此建议以匹配特定的控制器。
在您的情况下,只需为
@Controller和
@RestController和异常处理程序创建单独的建议,并为每个处理程序使用不同的逻辑即可:
@ControllerAdvice(annotations = RestController.class)class RestAdvice { @ExceptionHandler ...}@ControllerAdvice(annotations = Controller.class)class MvcAdvice { @ExceptionHandler ...}


