行星意识 2022-05-18 13:15 采纳率: 75%
浏览 340
已结题

ContentCachingRequestWrapper缓存 Request中的数据到底是如何做到的?

我的疑问来自这篇文章 https://www.cnblogs.com/Sinte-Beuve/p/13260249.html#%E6%9C%80%E4%BD%B3%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88 AOP的after方法无法二次读取取到inputStream,于是加了拦截器,先用ContentCachingRequestWrapper缓存一下,但是我去看ContentCachingRequestWrapper的源码,没看到构造里面有缓存的痕迹。。

img

  • 写回答

1条回答 默认 最新

  • 编号灬9527 2022-05-18 13:59
    关注
      • 难道源码只看构造器啊?
        getInputStream返回的是自己定义的ContentCachingInputStream

        img


        在读取流的地方,读完以后ByteArrayOutputStream写入了读取结果

        img


        所以后面你只要从ByteArrayOutputStream获取独到的流就行了
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月26日
  • 已采纳回答 5月18日
  • 修改了问题 5月18日
  • 创建了问题 5月18日

悬赏问题

  • ¥15 docker环境配置
  • ¥20 绿盟安全扫描--检测到目标站点存在javascript框架库漏洞
  • ¥30 Android STD快速启动
  • ¥15 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现