ContentCachingResponseWrapper spring security 下不起作用

项目里面计划把所有的response打印出来。开始觉得很简单,只要使用一个responseWrapper 把response包装一下就可以了。

开始计划按照项目中的RequestWrapper写一个出来。写的时候发现没有什么头绪,跟request还是很不一样的。

然后找了一下ResponseWrapper 的实现类。然后在spring里面的jar包里面找到ContentCachingResponseWrapper,感觉就是我想要的东西。

用了一下,发现结果的respoinse内容变没了,又搜了一下用法,发现需要在filer 最后调用这个方法。

responseWrapper.copyBodyToResponse();

但是试了一下还是不行。

最后试了很多方法,有些方法可以有返回值,有些没有。并没有什么规律。debug了一天最后也没有找到原因。

 

最后自己实现了一个ResponseWrapper 重写了。

    @Override
    public void flushBuffer() throws IOException {
        getResponse().flushBuffer();
    }

所有的方法就有返回值了。

自己怀疑是因为使用了Spring security,添加了一些filter导致的。

 

环境是

spring-boot: 1.5.10.RELEASE

spring-security: 4.2.5.RELEASE

你可能感兴趣的:(spring,responsewrapper)