ServiceStack 6 /api 路径导致所有服务出错

ServiceStack 6 /api path causes error for all services

我有一个最初使用 ServiceStack 3.x 编写的自托管应用程序,其中我有许多 API,其路由以 /api

开头

在获得 ServiceStack 6 许可后,所有以 /api 开头的路由都失败并出现以下错误:

"ErrorCode":"NotImplementedException","Message":"The operation 'bu' does not exist for this service"

路径中的最后一个元素显示为操作名称。

我将一项服务修改为路由:

[Route("/api/hcm/bu")]
[Route("/api/bu")]
[Route("/access/hcm/bu")]

以/api开头的失败。以 /access 开头的完美运行。

这些是已发布的API,所以我真的不想全部更改。

我猜测较新版本的 ServiceStack 中的新自动 /api 路径正在干扰,但我找不到任何关于如何抑制它们或解决此问题的文档。

如何使遗留的 /api 路径服务在当前 ServiceStack 下再次运行?

您可以 disable the API Route 使用:

ConfigurePlugin<PredefinedRoutesFeature>(feature => feature.JsonApiRoute = null);