如何在 spring 启动时为 webjars 配置缓存控制

How do I configure cache-control for webjars in spring boot

我已经看到几个现有的 answers 但是当我添加以下内容时,所有 webjars 开始返回 404。如何为我的所有 webjars 配置缓存控制?

@Configuration
public class HttpCacheControlConfig extends WebMvcConfigurerAdapter {


    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/webjars/**").setCachePeriod( 3600 * 24 );
    }
}

您尚未为处理程序配置任何资源位置。你需要这样的东西:

registry.addResourceHandler("/webjars/**")
        .addResourceLocations("classpath:/META-INF/resources/webjars/")
        .setCachePeriod(3600 * 24);

或者,如果您对所有静态资源都具有相同的缓存周期感到满意,那么您不需要 WebMvcConfigurerAdapter,因为您可以在中使用 属性 配置它application.properties:

spring.resources.cache-period = 86400