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

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条回答 默认 最新

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

        img


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

        img


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

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 武汉岩海低应变分析软件,导数据库里不显示波形图
  • ¥15 CreateBitmapFromWicBitmap内存释放问题。
  • ¥30 win c++ socket
  • ¥15 CanMv K210开发板实现功能
  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多
  • ¥100 vue3中融入gRPC-web
  • ¥15 kali环境运行volatility分析android内存文件,缺profile
  • ¥15 写uniapp时遇到的问题
  • ¥15 vs 2008 安装遇到问题