参数校验失败或业务操作抛出的异常,当然不可能再去手动捕捉异常进行处理,不然还不如用之前BindingResult方式呢。又不想手动捕捉这个异常,又要对这个异常进行处理,那正好使用SpringBoot全局异常处理来达到一劳永逸的效果!
首先,我们需要新建一个类,在这个类上加上@ControllerAdvice
或@RestControllerAdvice
注解,这个类就配置成全局处理类了。这个根据你的Controller层用的是@Controller
还是@RestController
来决定。
@RestControllerAdvice
也可以作用于@Controller
。
@RestControllerAdvice
public class ControllerExceptionHandler {
/**
* 其他异常处理
* @param e
* @return
*/
@ExceptionHandler(Exception.class)
public ResultVO otherExceptionHandler(Exception e){
return ResultVO.failed("操作失败,服务器异常");
}
}