gpt4 book ai didi

Spring Boot 单页应用程序 - 将每个请求转发到 index.html

转载 作者:IT老高 更新时间:2023-10-28 13:50:34 24 4
gpt4 key购买 nike

我有一个 Spring Boot (v1.3.6) 单页应用程序 (angular2),我想将所有请求转发到 index.html

http://localhost:8080/index.html 的请求正在工作(200,我得到了 index.html)但是 http://localhost:8080/home不是 (404)。

Runner.class

@SpringBootApplication
@ComponentScan({"packagea.packageb"})
@EnableAutoConfiguration
public class Runner {

public static void main(String[] args) throws Exception {
ConfigurableApplicationContext run = SpringApplication.run(Runner.class, args);
}
}

WebAppConfig.class

@Configuration
@EnableScheduling
@EnableAsync
public class WebAppConfig extends WebMvcConfigurationSupport {

private static final int CACHE_PERIOD_ONE_YEAR = 31536000;

private static final int CACHE_PERIOD_NO_CACHE = 0;

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.setOrder(-1);
registry.addResourceHandler("/styles.css").addResourceLocations("/styles.css").setCachePeriod(CACHE_PERIOD_ONE_YEAR);
registry.addResourceHandler("/app/third-party/**").addResourceLocations("/node_modules/").setCachePeriod(CACHE_PERIOD_ONE_YEAR);
registry.addResourceHandler("/app/**").addResourceLocations("/app/").setCachePeriod(CACHE_PERIOD_NO_CACHE);
registry.addResourceHandler("/systemjs.config.js").addResourceLocations("/systemjs.config.js").setCachePeriod(CACHE_PERIOD_NO_CACHE);
registry.addResourceHandler("/**").addResourceLocations("/index.html").setCachePeriod(CACHE_PERIOD_NO_CACHE);
}

}

styles.css, /app/third-party/xyz/xyz.js,.. 正在工作(200 并且我得到了正确的文件)。只有 /**index.html 不起作用。

最佳答案

您还可以添加转发 Controller ,例如:

@Controller
public class ForwardingController {
@RequestMapping("/{path:[^\\.]+}/**")
public String forward() {
return "forward:/";
}
}

第一部分 {path:[^\\.]+} 匹配 . 以外的任何字符中的一个或多个。这确保了对 file.ext 的请求不会被此 RequestMapping 处理。如果您需要支持子路径也被转发,请将 /** 放在 {...} 之外。

关于Spring Boot 单页应用程序 - 将每个请求转发到 index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38783773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com