Eu configurei meu aplicativo spring boot(2.5.5) para ativar a codificação de resposta fornecendo as propriedades abaixo em application.properties Estou usando o tomcat incorporado padrão como um contêiner
server.tomcat.compression=on
server.tomcat.compression.min-response-size=1
server.tomcat.compression.mime-types=application/json
meus cabeçalhos de solicitação contêm Accept-Encoding: gzip
Ainda a resposta não está sendo codificada.
Eu me aprofundei um pouco no fluxo de solicitação configurando pontos de interrupção e descobri que há uma classe
org.apache.coyote.http11.AbstractHttp11Protocol
com um método
public boolean useCompression(Request request, Response response) {
return compressionConfig.useCompression(request, response);
}
O que descobri aqui é que as propriedades de compactação definidas por mim no arquivo de configuração não são propagadas para o objeto compressionConfig. Isso ainda tem os valores padrão sem compactação e minSize como 2048 se eu tentar ajustar o objeto compressionConfig durante a sessão de depuração e definir os valores necessários, isso funcionará. Mas como faço para realmente fazê-lo funcionar? Qualquer ajuda será apreciada
Para inicialização de primavera 2.5.5, você deve usar propriedades como esta: