SpringBoot 多次读取requestBody

背景:项目中需要对请求体做校验,因为HttpServletRequest不能多次读取inputStream,因此需要对它进行包装,Spring提供请求包装器HttpServletRequesWrapper可以处理这类问题。

  • 自定义请求包装器

image.png

使用成员变量存储请求体的内容

然后覆写getInputStream()方法,每次从成员变量中重新构造新的输入流

  • 自定义过滤器,替换请求

image.png

替换HttpServletRequest类型的请求,使用包装器包装

  • 在拦截器中读取请求体

image.png

image.png


本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%