У меня есть следующая конфигурация для обслуживания содержимого c из Spring Boot.
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Value("${frontend.location}")
private String frontendLocation;
@Override
public void addViewControllers(ViewControllerRegistry reg) {
reg.addViewController("/").setViewName("forward:/index.html");
reg.addViewController("/{x:[\\w\\-]+}").setViewName("forward:/index.html");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations(frontendLocation);
}
}
Это прекрасно работает, если нет server.servlet.context-path. Когда server.servlet.context-path настроен, он передается на внешний маршрутизатор как часть URL. Решение состоит в том, чтобы не перенаправлять контекстный путь в индекс. html. Как мне этого добиться?