我正在使用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());
}