springboot项目中添加过滤器后续controller中无法读取业务参数问题

经过网上查阅相关资料,流只能被读取一次。
在过滤器中被读取过的流无法在controller中通过@RequestBody获得请求体,同样也无法通过HttpServletRequest.getParameter来获取业务参数。
根据流的这种特性,可以将请求体保存下来,以供后续使用。我们需要做的就是继承HttpServletRequestWrapper类,然后重写里面的getInputStream(),getReader()方法。在此之前请从ServeletRequest中将流保存下来

posted @ 2021-04-25 16:34  yanweimin  阅读(392)  评论(0编辑  收藏  举报