月凉凉 2024-01-11 09:03 采纳率: 80%
浏览 15
已结题

遇到form-data里的请求参数经过过滤器包装request后到控制层丢失问题

2.1.1升级到2.3.5后出现的问题,经过排查,filter链中,第七个过滤器执行的过程中,对requedt包装了两次wrapper,第一个wrapper构造器把request传入调的继承的super先包装,最里面那一层是可重复读的wrapper,继承了HttpServletRequestWrapper,body数组定义了成员变量在构造器里读出来存起来了,但是request读完并且包装完两次后放行过滤器,到controller后form-data参数丢失,request里参数为null。但只要在body流读取储存前进行request.getparamtrer()操作,后续在读取body流储存就不会有这种问题。不知道到底是因为什么导致的

img

img

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 1月19日
    • 修改了问题 1月13日
    • 修改了问题 1月11日
    • 修改了问题 1月11日
    • 展开全部