gpt4 book ai didi

Spring 捕获 index.html 的所有路由

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

我正在为基于 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 的所有路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39331929/

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