Spring 网关如何路由深层 SPA 链接

Spring Gateway how to route deep SPA links

我有一个从 Spring 网关路由的 Angular 应用程序。根路由工作正常,但是当你深入嵌套路由时,它 returns 找不到状态。在 Angular docs and this tutorial 上说你必须将任何未找到的路由重写到 /index.html 但我在 Spring 云网关文档中没有找到任何关于如何配置它的参考。

application.yml

      - id: teams-frontend
        uri: lb://teams-frontend
        predicates:
          - Path=/teams,/teams/**
        filters:
          - StripPrefix=1
#         - RewritePath=/.*, /index.html  ## This breaks existing link resources such as the scripts linked on the index.html

angular 应用如何在未找到时回退到 index.html?

我开发了一个custom filter。如果请求包含 header“接受:text/html”,则请求路径将被 /index.html

覆盖
- id: teams-frontend
    uri: lb://teams-frontend
    predicates:
      - Path=/teams,/teams/**
    filters:
      - StripPrefix=1
      - SPA