我必须实现的逻辑是记录所有请求,并将正文提供给数据库。
所以我决定使用: afterCompletion
方法 HandlerInterceptor
。有两个参数传递给此方法 HttpServletRequest
和 HttpServletResponse
等等。
问题是:如何从提供的对象中获取 RequestBody
和 ResponseBody
?
据我所知,在控制器我们可以使用 @RequestBody
和 @ResponseBody
。我可以在 HandlerInterceptor
重新使用它们吗?
原文由 kyberorg 发布,翻译遵循 CC BY-SA 4.0 许可协议
据我所知,
RequestBody
和ResponseBody
只能读取一次。所以你不应该在Interceptor
中阅读它们。这里有一些 解释。