1
resposta

Recursos estáticos não funcionam após implementação do interceptador

Em meu projeto tenho uma as seguintes pastas: static/build e static/vendors com arquivos CSS e JS que utilizo nas páginas. Estas pastas ficam dentro da pasta resources. Até a inclusão do Interceptador tudo funciona normalmente, ou seja, as páginas html são carregadas e formatadas com CSS e JS. Porém, quando implemento o Interceptador e ativo na configuração, o thymeleaf não encontra mais os recursos estáticos que estão nessas pastas. Quando carrega o HTML ele redireciona (302) para todos os recursos estáticos, porém apresenta mensagem de not found no log do navegador. Tentei uma implementação da interface WebMvcConfigurer ao invés de extender a classe WebMvcConfigurationSupport, como é sugerido para corrigir em um outro tópico aqui do fórum. Porém no meu caso, continua dando o mesmo erro. A página html carrega normalmente mas os recursos estáticos não são encontrados. Alguém já passou por este problema, implementou a interface WebMvcConfigurer e o problema não foi solucionado? Podem me ajudar? Estou usando a versão 2.5.3 do Spring boot.

1 resposta

Olá Rodrigo, tudo bem?

Entendo que você está enfrentando problemas com recursos estáticos após a implementação do interceptador.

Uma possível solução para o seu problema é adicionar o caminho dos recursos estáticos no método addResourceHandlers da interface WebMvcConfigurer.

Você pode adicionar o seguinte código:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/static/**")
            .addResourceLocations("classpath:/static/");
}

Dessa forma, o Spring MVC irá procurar os recursos estáticos na pasta "static" dentro da pasta resources.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software