ServletResponseWrapper 重新响应内容

目前使用 Spring Boot 构建项目时需要为每个 rest 响应结果进行一次封装,然后我使用
ServletResponseWrapper。

然后在百度后发现大量的博客和文章使用的方式是通过
1. 定义一个临时的 OutputStream对象(如 ByteArrayOutputStream)
2. 定义一个PrintWriter对象
3. 重写 getWriter 方法
4. 新增一个 获取 OutputStream 对象内容的方法

可是经过多次实验和调试后发现没有调用过 重写的 getWriter()方法,然后查看源码发下还有一个 getOutputStream() 方法,我将其重写然后发现进入过这个方法,然后我定义了一个 ServletOutputStream 对象,然后将内容写入到另一个流中。成功实现了需求,但是我实在在网络上找不到与我相同做法的人。

想请教一下对这方面比较了解的人这其中的区别。

图片说明