reactjs Spring Cloud Gateway中运行的react SPA页面刷新时出现白色标签错误

chhkpiq4  于 2023-01-08  发布在  React
关注(0)|答案(1)|浏览(145)

我正在开发一个spring-boot react全栈应用程序,我使用spring cloud gateway作为我的API网关,将请求路由到上游微服务,而且我的react SPA也运行在spring cloud gateway上。
当我运行Spring Cloud Gateway应用程序时,我能够加载前端GUI。
当我在GUI中导航时,它工作正常

但当我刷新时,我得到了白色标签错误。
我将不得不再次加载登录页,并只通过图形用户界面导航。

我已经尝试配置网关应用程序如下,但它不工作.

@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/**

请帮帮忙

6jygbczu

6jygbczu1#

由于您使用的是客户端路由,因此请使用哈希路由器而不是浏览器路由器。更多信息请参见What is the difference between HashRouter and BrowserRouter in React?

相关问题