Spring捕获index.html的所有路由

我正在为基于React的单页应用程序开发spring后端,在其中我使用React-Router进行客户端路由。

在index.html页面旁边,后端在路径上提供数据/api/**

为了src/main/resources/public/index.html/我的应用程序的根路径上提供index.html,我添加了一个资源处理程序

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

registry.addResourceHandler("/").addResourceLocations("/index.html");

}

我想要的是在没有其他路由匹配时(例如,当我调用以外的路径时)提供index.html页/api

在spring如何配置这种全包式路线?

回答:

由于我的React应用程序可以将根用作前进目标,因此最终为我工作

@Configuration

public class WebConfiguration extends WebMvcConfigurerAdapter {

@Override

public void addViewControllers(ViewControllerRegistry registry) {

registry.addViewController("/{spring:\\w+}")

.setViewName("forward:/");

registry.addViewController("/**/{spring:\\w+}")

.setViewName("forward:/");

registry.addViewController("/{spring:\\w+}/**{spring:?!(\\.js|\\.css)$}")

.setViewName("forward:/");

}

}

老实说,我不知道为什么必须严格按照这种特定格式来避免无限转发循环。

以上是 Spring捕获index.html的所有路由 的全部内容, 来源链接: utcz.com/qa/401997.html

回到顶部