配置Spring Boot以将404重定向到单页应用
我想配置我的Spring Boot" title="Spring Boot">Spring Boot应用程序以将任何404未找到的请求重定向到我的单页应用程序。
例如,如果我正在呼叫localhost:8080/asdasd/asdasdasd/asdasd
不存在的呼叫,则应将其重定向到localhost:8080/notFound
。
问题是我只有一个页面react应用程序,它在根路径下运行localhost:8080/
。因此,spring应该重定向到localhost:8080/notFound
,然后转发到/
(以保持路由)。
回答:
这应该可以解决问题:为404添加一个错误页面,该页面路由到/notFound
,然后将其转发到您的SPA(假设该条目位于/index.html
):
@Configurationpublic class WebApplicationConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/notFound").setViewName("forward:/index.html");
}
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return container -> {
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND,
"/notFound"));
};
}
}
以上是 配置Spring Boot以将404重定向到单页应用 的全部内容, 来源链接: utcz.com/qa/430392.html