在运行时添加端点的 Spark Java 框架中处理 404

Handle 404 in Spark Java Framework with Endpoints Added at Runtime

我正在尝试弄清楚如何处理 Spark Java 中的 404 错误。有人建议通过添加 GET 端点作为堆栈中的最后一条路由来使用“*”端点进行黑客攻击。但是,如果在应用程序启动后在运行时添加端点,这将永远不会起作用。

我能想到的唯一解决方法是使用 Apache 服务器捕获 404 响应并将其重定向回 Spark,但如果我有选择的话,我宁愿不让逻辑位于应用程序之外。

有什么建议吗?

据 Spark Java 团队的 Per 称,几周后 v2.5.4 中将提供此功能。

我最终做的实际上是将所有内容路由到 1 个端点 (//*)。因为我知道系统中所有可用的路由,所以我可以检查注册表,如果没有匹配项,我将其重定向到“/404”。还有一件事是设置代理,以便“/”指向“/”,但一些众所周知的顶级目录除外,例如用于 Web 资产的目录(例如 /resources)。

有了这个,我能够支持框架上托管的每个域 404 个页面。