配置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):

@Configuration

public 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

回到顶部