Open ChaosLCL opened 4 years ago
https://github.com/xkcoding/spring-boot-demo/tree/master/spring-boot-demo-log-aop
我觉得这个项目很不错,然后我用了您这边的AOP切面做日志,但是我使用过程中发现下面这段代码并不能获取的Controller在接收POST请求时候的RequestBody
Map<String, String[]> parameterMap = request.getParameterMap(); log.info("【请求param】:{},", JSONUtil.toJsonStr(parameterMap));
然后我由尝试使用BufferedReader获取RequestBody,但是结果令人遗憾,获取到了结果,但是Controller因为request.getReader()只能被调用一次而不能执行.
然后我尝试下面这行代码,获取到了RequestBody
if (point.getArgs().length > 0) { for (Object o : point.getArgs()) { if (o instanceof HttpServletRequest || o instanceof HttpServletResponse) { continue; } log.info("【请求data】:{}," + JSON.toJSONString(o)); } }
一般用RequestBody了,都不想在去处理 HttpServletRequest 这个了。你用PostMan测试下呢?
https://github.com/xkcoding/spring-boot-demo/tree/master/spring-boot-demo-log-aop
描述问题
我觉得这个项目很不错,然后我用了您这边的AOP切面做日志,但是我使用过程中发现下面这段代码并不能获取的Controller在接收POST请求时候的RequestBody
然后我由尝试使用BufferedReader获取RequestBody,但是结果令人遗憾,获取到了结果,但是Controller因为request.getReader()只能被调用一次而不能执行.
然后我尝试下面这行代码,获取到了RequestBody