在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
暂无答案!
目前还没有任何答案,快来回答吧!