java—将httpservletrequest设置为多读有什么坏处吗?

zbwhf8kr  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(150)

在prehandle()httprequestinterceptor中,我需要读取请求(request.getinputstream())主体两次。JavaServlets提供了只能读取一次的servletinputstream。所以我在做这样的事情:

MultiReadHttpServletRequest multiReadRequest = new MultiReadHttpServletRequest(request);
//Setting the request again, as it will delete request contents after reading it. 
request = multiReadRequest;
  • 其中request是在prehandle()拦截器中接收到的实际httpservletrequest。我的服务中没有其他拦截器(也没有过滤器)。
    问题:再次设置请求(httpservletrequest)有什么坏处吗?考虑到默认功能,一旦httpservletrequest被读取,我们就不能再读取它,即request.getinputstream()只能执行一次。通过这种改变,它将变成多读的

注:由 request = multiReadRequest ,请求变为多读。服务是spring boot

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题