我正在尝试让Spring使用@RequestBody注释将请求主体映射到POJO。
我收到错误
“缺少必需的请求正文内容:org.springframework.web.method.HandlerMethod$HandlerMethodParameter@4c3bfe22
因为我之前已经通过拦截器请求getInputStream进行验证。
我扩展了HttpServletRequestWrapper并重写了getInputStream方法,以返回一个ServletInputStream,它从原始读取时创建的String缓存中获取数据。
调试时,我可以在拦截器中多次调用getInputStream但是Spring仍然无法映射POJO。当我注释掉最初在inteceptor中读取主体的代码行时,Spring可以将POJO映射得很好。
我不太清楚Spring如何将数据映射到POJO,我错过了什么吗?
由于
答案 0 :(得分:0)
我在Klaus'之后解决了这个问题。关于过滤器与拦截器的评论。
对于其他发现此问题的人,您只能从过滤器而不是拦截器执行此操作。