Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在SpringBoot中更改HandlerInterceptorAdapter中的响应?_Java_Spring_Compression_Gzip - Fatal编程技术网

Java 如何在SpringBoot中更改HandlerInterceptorAdapter中的响应?

Java 如何在SpringBoot中更改HandlerInterceptorAdapter中的响应?,java,spring,compression,gzip,Java,Spring,Compression,Gzip,我有一个用Java编写的后端(SpringBoot),它将响应发送到前端。我在json中处理了太多的数据,所以我决定使用GZIP压缩它以实现更快的事务,但我在代码中发现了几个错误,因为我不太清楚如何处理某些类 我对上面的代码使用postHandle()方法(我在其他问题的stackoverflow中发现): 问题是我的请求没有getBytes()方法,因此无法完成 你知道我该怎么做吗?我需要压缩从后端发送到前端的所有数据 提前谢谢你 不要。。。在拦截器中也不能这样做,应该使用。改为过滤。非常感谢

我有一个用Java编写的后端(SpringBoot),它将响应发送到前端。我在json中处理了太多的数据,所以我决定使用GZIP压缩它以实现更快的事务,但我在代码中发现了几个错误,因为我不太清楚如何处理某些类

我对上面的代码使用postHandle()方法(我在其他问题的stackoverflow中发现):

问题是我的请求没有getBytes()方法,因此无法完成

你知道我该怎么做吗?我需要压缩从后端发送到前端的所有数据


提前谢谢你

不要。。。在拦截器中也不能这样做,应该使用。改为过滤。非常感谢你,迪纳姆。这让我们以另一种方式专注,正确的方式!你解决了我们的问题。非常感谢你。
    @Override
    public void postHandle(
        HttpServletRequest request,
        HttpServletResponse response,
        Object handler,
        ModelAndView modelAndView) throws Exception {

      ByteArrayOutputStream obj=new ByteArrayOutputStream();
      GZIPOutputStream gzip = new GZIPOutputStream(obj);
      gzip.write(request.getBytes("UTF-8"));
      gzip.close();
    }