Spring MVC (Boot) не отправляет тип MIME для определенных файлов (WOFF и т. д)

Я пишу приложение на основе spring boot и заметил несколько предупреждений в chrome. Он жалуется, что, например, веб-шрифты (расширение woff) отправляются как обычный/текст вместо их правильного типа mime.

Я использую обычный механизм для статических файлов без специальной настройки. Исходный код, который я нашел, выглядит так, как будто невозможно добавить больше mimetypes для "stock" ResourceHandler. Resourcehandler отправляет распознавание типа mime в контейнер сервлета, который является tomcat по умолчанию для spring-boot 1.2.

Я что-то пропустила? Кто-нибудь знает простой способ улучшить сопоставление ресурсов, чтобы обслуживать больше типов файлов с правильным типом mime?

прямо сейчас я думаю написать фильтр, который запускается для статического контента и исправляет отсутствующие типы mimetypes после факта. Возможно, мне следует создать запрос функции в springsource... ;-)

1 ответов


хорошо, нашел сам : -)

в Spring boot вы можете настроить контейнер сервлета с помощью этого настройщика и добавить туда новые типы mimetypes.

(обновление)

Весна-ботинок 2.x:

@Component
public class ServletCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
    @Override
    public void customize(TomcatServletWebServerFactory factory) {
        MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT);
        mappings.add("woff", "application/x-font-woff");
        factory.setMimeMappings(mappings);
    }
}

Весна-ботинок 1.x:

@Component
public class ServletCustomizer implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT);
        mappings.add("woff","application/font-woff");
        mappings.add("woff2","application/font-woff2");
        container.setMimeMappings(mappings);
    }
}