ContentCachingRequestWrapper getContentAsByteArray()方法仅返回8000个字节

时间:2017-09-17 13:18:33

标签: spring

我正在使用ContentCachingRequestWrapper在Spring Boot过滤器中缓存我的请求。不幸的是,当我使用方法getContentAsByteArray()来获取我的请求的内容时 - 我只得到大小为8000字节的数组。

我在Tomcat没有任何帖子限制。更重要的是,当我更早地检查请求的大小时 - 这是正确的。

你知道为什么ContentCachingRequestWrapper.getContentAsByteArray()只返回8000个字节吗?

代码:

protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
        throws ServletException, IOException {


        ContentCachingRequestWrapper requestWrapper = new ContentCachingRequestWrapper(request);
        chain.doFilter(requestWrapper, response);
//here --> requestWrapper.getContentAsByteArray().length = 8000 (for larger request)      


savemyRequest(new String(requestWrapper.getContentAsByteArray()), response.getStatus());

}

0 个答案:

没有答案