diff --git a/backend/src/main/java/com/alttd/altitudeweb/config/WebConfig.java b/backend/src/main/java/com/alttd/altitudeweb/config/WebConfig.java new file mode 100644 index 0000000..cf01d79 --- /dev/null +++ b/backend/src/main/java/com/alttd/altitudeweb/config/WebConfig.java @@ -0,0 +1,33 @@ +package com.alttd.altitudeweb.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.springframework.web.servlet.resource.PathResourceResolver; + +import java.io.IOException; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("/**") + .addResourceLocations("classpath:/static/") + .resourceChain(true) + .addResolver(new PathResourceResolver() { + @Override + protected Resource getResource(String resourcePath, Resource location) throws IOException { + Resource requestedResource = location.createRelative(resourcePath); + + if (requestedResource.exists() && requestedResource.isReadable()) { + return requestedResource; + } + + return new ClassPathResource("/static/index.html"); + } + }); + } +}