tomcat Spring Boot 响应编码不工作

nr7wwzry  于 2023-10-19  发布在  Spring
关注(0)|答案(1)|浏览(122)

我已经通过在application.properties中提供以下属性来配置我的spring Boot (2.5.5)应用程序以启用响应编码。我使用默认的嵌入式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。如果我尝试在调试会话期间调整compressionConfig对象并设置所需的值,则它仍然具有默认值(无压缩)和minSize(2048)。但是我怎么才能让它真正工作呢?任何帮助将不胜感激

qyzbxkaa

qyzbxkaa1#

对于spring Boot 2.5.5,你应该使用这样的属性:

server.compression.enabled=true
server.compression.min-response-size=300KB

相关问题