需要在application.properties里启用压缩,并设置压缩支持的格式(默认支持text/html等,但不支持application/json)
server.compression.enabled=true
server.compression.mime-types=application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/javascript
默认情况下,仅会压缩2048字节以上的内容
server.compression.min-response-size=2048
上面设置压缩大于2048字节的文件
还需要在代码中设置如下:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("/static/")
.setCacheControl(CacheControl.maxAge(10, TimeUnit.MINUTES).cachePrivate())
.resourceChain(true)
.addResolver(new GzipResourceResolver());
super.addResourceHandlers(registry);
}
如果在配置文件中配置了不生效,则需要设置上面的内容。
以上内容,详见 org.springframework.boot.context.embedded.Compression
以及 org.springframework.boot.autoconfigure.web.ServerProperties