【问题标题】:Spring Reactive Router Path - Wildcard with exclusionSpring Reactive Router Path - 带排除的通配符
【发布时间】:2019-09-11 18:53:57
【问题描述】:

我有一个 Spring Reactive 应用程序,它提供一个单页 React 应用程序。

为了服务于 React 页面,我有一个通配符路径 /**。这在很大程度上是有效的,除了一种情况。

我希望我的 Spring 应用处理的非 React 端点都以 /api 为前缀。

现在,如果我调用一个不存在的 /api 端点,它将由 React 端点 (/**) 处理,因此它为 React 提供 index.html 和 200 而不是 404如我所愿。

根据文档,Spring Reactive Router 似乎支持 glob 模式,但我尝试了模式 /!(api)/**,它似乎应该根据 glob 测试人员工作。但是,这会导致所有应该到达该端点的调用都变为 404。

关于通配符模式的任何想法来捕获除以/api 开头的端点之外的所有内容?

【问题讨论】:

  • 为什么不使用 /api/** 后备来提供 404 服务?
  • 我考虑过这样做,最终可能不得不这样做,但是只创建一个到 404 的端点感觉有点奇怪,因为通常不存在的端点会自己做。

标签: java spring glob


【解决方案1】:

似乎根据doc,您只能使用有限的 glob 子集 {*, **, ?}。您可能还需要在 react 中添加一些前缀,这样可以进行适当的分离。

【讨论】:

  • 如果我在 React 部分添加一个前缀,它会给我看起来很难看的公共 URL,因为它们都会无缘无故地有一个随机的额外前缀(从用户的角度来看)。
猜你喜欢
  • 1970-01-01
  • 2017-08-10
  • 2017-11-30
  • 2011-04-30
  • 2017-07-15
  • 2022-09-29
  • 2017-05-05
  • 2013-08-25
  • 2012-02-07
相关资源
最近更新 更多