shiro+springboot:@RestControllerAdvice为什么可以拦截到shiro的权限验证异常
统一异常拦截:
@RestControllerAdvice
public class GlobalExceptionHandler {
private static final Logger LOGGER =
LoggerFactory.getLogger(GlobalExceptionHandler.class);
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(value = UnknownAccountException.class)
public Result handler(UnknownAccountException e) throws IOException {
e.printStackTrace(System.out);
LOGGER.error("运行时异常:-------------->",e);
return Result.fail("账户密码错误", "401", null);
}
controller层:
@GetMapping("/userList")
@RequiresPermissions("/user/userList")
public Result userList(int currentPage, int pageSize, String userName, String isEnable) {
System.out.println(123);
return userService.iPageUser(currentPage, pageSize, userName, isEnable);
}
疑问:
@RestControllerAdvice学习的时候,是说可以拦截被@RequestMapping注解的方法里面抛出的异常,但是shiro权限应该是通过filter来进行拦截校验并抛出异常的,为什么会被拦截到?