springboot使用全局异常,其实重点在于 @ControllerAdvice这个注解上,这个注解代表的是捕获控制器层的异常
@ControllerAdvice
public class UnauthorizedException{
@ExceptionHandler(value = org.apache.shiro.authz.UnauthorizedException.class)
@ResponseBody
public ResponseResult Unauthorized(HttpServletRequest request, Exception e){
return new ResponseResult(1,"你没有此操作权限!");
}
}
@ExceptionHandle这个注解指定的是要捕获那种类型的异常,比如我上面的(value = org.apache.shiro.authz.UnauthorizedException.class)就是捕获没有权限时抛出的异常(shiro框架)。
讲真,springboot真的简化了我们的开发,有时候很多东西分分钟一个注解就搞定了。