我已经配置了我的 spring boot(2.5.5) 应用程序,通过在 application.properties 中提供以下属性来启用响应编码 我正在使用默认的嵌入式 tomcat 作为容器
server.tomcat.compression=on
server.tomcat.compression.min-response-size=1
server.tomcat.compression.mime-types=application/json
我的请求标头包含Accept-Encoding: gzip
仍然未对响应进行编码。
我通过设置断点深入研究了请求流,发现有一个类
org.apache.coyote.http11.AbstractHttp11Protocol
有一个方法
public boolean useCompression(Request request, Response response) {
return compressionConfig.useCompression(request, response);
}
我在这里发现我在配置文件中设置的压缩属性没有传播到对象compressionConfig。如果我尝试在调试会话期间调整压缩配置对象并设置所需的值,这仍然具有不压缩的默认值,并且 minSize 为 2048。但我怎样才能真正让它发挥作用呢?任何帮助将不胜感激
对于 Spring Boot 2.5.5,您应该使用如下属性: