文章目录
当切面有参数为HttpServletRequest之类的参数时,使用
Object[] args = joinPoint.getArgs();
会占用HttpServletRequest中的上下文,当再次调用
JSON.toJSONString(args);
为再次尝试获取request中的上下文,如果未开启Servlet异步处理,则会抛出此异常,建议切面获取参数时过滤掉
List logArgs = stream.filter(arg -> (!(arg instanceof HttpServletRequest) && !(arg instanceof HttpServletResponse))).collect(Collectors.toList());