采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,上一章开头你讲在过滤器里面是拿不到post请求的数据的,最后还是在GlobalCacheRequestBodyFilter这个过滤器里面去处理了,没有明白是什么意思。 同样的都是全局过滤器。上一章用来缓存body,这一章又读取出来,再做处理。这样分开的意义是什么。为什么不能合并起来。在这个GlobalLoginOrRegisterFilter里面,直接解析body,再做处理。不是更简单吗?
同学你好:
这里其实是一个混淆的概念:
(1)并不是说在过滤器里面拿不到 post 类型请求的数据,而是说你直接去 “拿到”POST 中的数据,消费掉了之后,到达你的 Controller 方法之后,这个数据就为空了(这其实和 SpringMVC 的设计很像)
(2)所以,我才会在“前一个”过滤器中保存下来副本,在“下一个”过滤器中消费这个副本,并且最终释放这个副本
老师,谢谢你的回答,还是2点不明白。 1.你说的保存副本的动作是消费吗?如果是的话,那之后controller是不是也拿不到数据了。 2.保存副本这个动作,相当于是提取body信息,那我直接在后一个filter里做这个提取动作有什么问题吗?还是不明白把他们分离在两个filter里的意义是什么?
最简单的方式,你简单写个代码去试试,其实理论最后都要落到实践,哈哈哈,自己去试一试更容易理解。
登录后可查看更多问答,登录/注册
从架构设计到开发实践,手把手实现
1.3k 9
1.5k 8
2.0k 6
1.1k 5
1.3k 5
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号