最近想写一个拦截器来监听接口请求状况,并对请求的接口进行数据入库,以方便查看何人操作系统可能导致系统数据的误删操作,于是使用了ContentCachingResponseWrapper来获取response中的数据,发现在springsecurity的框架中不起作用,导致说的ResponseWrapper 一直为null,这样就取不到response中的返回值等数据。
经过查资料、代码发现,需要将ContentCachingResponseWrapper这个类重写,并将其中的该方法重写
public void flushBuffer() throws IOException {
getResponse().flushBuffer();
}
然后将所有使用ContentCachingResponseWrapper这个类的地方替换成自己重写的类即可实现