嵌入 Spring MVC/Rest 的 React 应用:浏览器 GET 请求路由

IT技术 java reactjs rest spring-mvc react-router-v4
2021-04-28 08:19:44

所以我有一个 Java/Spring MVC web 应用程序,它有一个@Controller带有注释的方法,@RequestMapping(value = "/", method = RequestMethod.GET)返回主index.html(当localhost:8080在浏览器 url 中输入时),包含 React.js 应用程序。这是 a 的唯一控制器text/html,所有其他控制器@RestController映射到路径/api...- React SPA 的 restfull api。React 应用程序已经实现了react-router-dom并且应用程序中的程序化路由工作正常,fe a <Link to="/dashboard">dashboard</Link>got tohttp://localhost:8080/dashboard并且没有向服务器发送 GET。问题是当我手动输入http://localhost:8080/dashboard浏览器 url 时,它会向 Spring 服务器发送 GET 请求,而当节点运行时提供 React 应用程序,react-router-dom“捕获”并处理这些浏览器请求。react-router可以强制处理这些文本/html 浏览器请求吗?

1个回答

我假设您正在使用 react 的 BrowserRouter。

当您在浏览器中输入 url 并按 ENTER 时,您正在向服务器发出 GET http 请求。当使用 react 的 Link 元素导航时,您的浏览器会解析 url 更改并根据 url 值呈现 react 组件,而无需发出请求。

希望这可以帮助