Остальные ответы устарели и / или чрезмерно сложны для чего-то, что должно быть простым IMO (как долго gzip существует? Дольше, чем Java ...) Из документов:
В application.properties 1.3+
# 🗜️🗜️🗜️
server.compression.enabled=true
# opt in to content types
server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain,application/javascript,text/css
# not worth the CPU cycles at some point, probably
server.compression.min-response-size=10240
В application.properties 1.2.2 - <1.3
server.tomcat.compression=on
server.tomcat.compressableMimeTypes=application/json,application/xml,text/html,text/xml,text/plain,application/javascript,text/css
Старше 1.2.2:
@Component
public class TomcatCustomizer implements TomcatConnectorCustomizer {
@Override
public void customize(Connector connector) {
connector.setProperty("compression", "on");
connector.setProperty("compressableMimeType", "text/html,text/xml,text/plain,application/json,application/xml");
}
}
Также обратите внимание, что это будет работать ТОЛЬКО, если вы используете встроенный tomcat:
Если вы планируете развертывать на невстроенном tomcat, вам нужно будет включить его в server.xml http://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Standard_Implementation
Примечание по производству IRL:
Также, чтобы избежать всего этого, рассмотрите возможность использования настройки прокси / балансировщика нагрузки перед Tomcat с nginx и / или haproxy или аналогичными, поскольку он будет обрабатывать статические активы и gzip НАМНОГО более эффективно и легко, чем модель потоков Java / Tomcat.
Вы не хотите бросать кошку в ванну, потому что она занята сжатием вещей вместо обслуживания запросов (или, что более вероятно, раскручивает потоки / ест ЦП / кучу, сидя без дела в ожидании ввода-вывода базы данных, пока вы оплачиваете свой счет AWS, который почему традиционный Java / Tomcat может быть не очень хорошей идеей для начала в зависимости от того, что вы делаете, но я отвлекся ...)
ссылки:
https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/howto.html#how-to-enable-http-response-compression
https://github.com/spring-projects/spring-boot/issues/2031