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