博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用cached的wrapper类读取请求响应内容
阅读量:7036 次
发布时间:2019-06-28

本文共 514 字,大约阅读时间需要 1 分钟。

问题

servlet的requestbody以及response的body一旦流被读取了,就无法再次消费了,因此这对于有要拦截请求,记录相关信息的时候,带来一个潜在的坑。那么如何处理这个呢,利用filter,wrapper一层,然后proceed,最后response完之后在把cached的body设置回原始响应。

caching wrapper

ContentCachingRequestWrapper wrappedRequest = new ContentCachingRequestWrapper(request);ContentCachingResponseWrapper wrappedResponse = new ContentCachingResponseWrapper(response);

spring提供了ContentCachingRequestWrapper以及ContentCachingResponseWrapper两个类,来解决这类问题。

读取完body之后

wrappedResponse.copyBodyToResponse();

通过这个设置回去,就可以使得终端消费者可以正常接收响应了。

转载地址:http://zyfal.baihongyu.com/

你可能感兴趣的文章
Redis 对象
查看>>
Android应用程序获取ROOT权限的方法
查看>>
KVM主机在线增加硬盘爬坑记
查看>>
【Linxu学习004】Bash Shell 相关
查看>>
Linux 下的shell
查看>>
iptables 知识-filter表
查看>>
Windows平台视频显示问题
查看>>
python性能分析
查看>>
备份与还原---bacula简介
查看>>
Windows Live Writer Test
查看>>
My97DatePicker日期插件的常用功能说明
查看>>
fedora 25 Linux 上使用 backup-manager 进行系统备份
查看>>
我的友情链接
查看>>
读书笔记之顺序循环队列
查看>>
转型为一名数据科学家的正确打开方式
查看>>
SHELL中的for流程控制
查看>>
如何快速打造一款高清又极速的短视频APP?
查看>>
Cesium入门4 - 创建Cesium Viewer
查看>>
svn结合apache实现web也访问SVN
查看>>
我的友情链接
查看>>