我正在开发一个SpringBoot Reaction全堆栈应用程序.我使用了Spring云网关作为我的API网关,将请求路由到upstream 微服务.此外,我的Reaction SPA也在Spring云网关上运行.

当我运行Spring云网关应用程序时,我能够加载前端图形用户界面.

当我在图形用户界面中导航时,它工作正常

enter image description here

但当我刷新时,我收到白色标签错误.

我将不得不再次加载登录页,并只通过图形用户界面导航.

enter image description here

我已try 按如下方式配置网关应用程序,但它不起作用.

@Bean
public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer(){
    return factory -> {
      ErrorPage errorPage = new ErrorPage(HttpStatus.NOT_FOUND,"/index.html");
      factory.addErrorPages(errorPage);
    };
}


package com.xpense.service;

import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.ErrorPageRegistrar;
import org.springframework.boot.web.server.ErrorPageRegistry;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;

@Component
public class ErrorPageConfig implements ErrorPageRegistrar {
@Override
public void registerErrorPages(ErrorPageRegistry registry) {
    registry.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND,"/index.html"));
}
}

下面是路由配置

server:
port: 10443
spring:
 application:
   name: xpense-api-gateway
cloud:
  gateway:
    routes:
    - id: xpense-service
      uri: http://localhost:18080/
      predicates:
        - Path=/xpense/service/**

请帮帮忙

推荐答案

由于您使用的是客户端路由,因此不使用浏览器路由,而使用散列路由.有关更多信息,请参阅 What is the difference between HashRouter and BrowserRouter in React?

Reactjs相关问答推荐

有没有办法让两个状态在两次精准渲染中更新?

以下代码是否存在安全问题?

Reaction Hook';useEffect&;有条件呼叫问题:

面对动画警告:未指定`useNativeDriver`.这是必需的选项,并且必须在REACT本机中显式设置为`true`或`False`

在REACT-RUTER-DOMV6中使用通用页面包装组件有问题吗?

用于获取带有事件处理程序的API的动态路由

Github 操作失败:发布 NPM 包

React useEffect 依赖项

如何在 ChartJS 中创建此图表?在 NEXTjs 和 TSX 中

在React Router 6中,在路由渲染后更新路由数据

如何在 nextjs 中单击按钮时动态导入和渲染组件?

为什么接受 useState 返回的函数的 setter 在使用 React 的单个调用中执行两次?

我应该使用 useEffect 来为 React Native Reanimated 的 prop 值变化设置动画吗?

当从数组中删除数据时,UseEffect 不会重新渲染,仅在添加数据时才会重新渲染

将 Material UI 菜单渲染为

React如何在用户登录后等待当前用户数据被获取

为什么我不能使用 formik 更改此嵌套对象中的值

Rtk 查询无效标签不使数据无效

如何在 React 中制作动画?

有没有办法只针对 React map 中的一个按钮?