问题描述:
过滤器中,解析请求体后,进入Controller后,报异常:Resolved [org.springframework.http.converter.HttpMessageNotReadableException: I/O error while reading input message; nested exception is java.io.IOException: Stream closed],
原因:
从HttpServletRequest中获取到InputStream后,就不能再次获取请求体
解决方法:
参考链接:https://blog.csdn.net/lanxing_huangyao/article/details/86687851
或者参考:com.mzqh.filter.TokenFilter
思路:
1、继承 HttpServletRequestWrapper自定义请求Wrapper
2、解析请求体,同时其设置到流 ServletInputStream 中
3、过滤器中 方法 doFilter 中的request设置为 HttpServletRequestWrapper 继续传递流即可