首页 > 解决方案 > 使用 Azure API 管理的 Odata $metadata 路由和在 Swagger 中添加路由

问题描述

我在放置现有 Web API 项目和创建启用 OData 的新端点时遇到了麻烦。尽管大多数过滤器在本地和 APIM 中工作,但/$metadata似乎无法正常工作。在 AAM 中的 .netCore 2.2 中托管 API 时,/$metadata生成的路由与 Azure 托管的 Web 应用程序相关,而不是与 Azure API 管理相关的路由。我们曾考虑将其显式添加到 swagger 定义中,但我们也无法这样做,/$metadata因此在尝试访问它时出现 404 resource not found 错误?/$metadata端点甚至不遵循控制器和操作方法模式。就像`

块引用

https://abc.azure.net/$metadata#ddd`https://abc.azure.net/$metadata

结构体。

我无法克服我在这里错过了什么的感觉。有没有办法为操作定义某种通配符部分?我在 AAM 文档中找不到类似的内容。我一直在想我需要做些什么,但我现在没有想法,所以请求是否有人能指出我正确的方向,为什么在部署到 AAM 后生成的路由是 Web 应用程序正常路由而不是 AAM API 路由?

标签: api.net-coreodataazure-web-app-serviceazure-api-management

解决方案


APIM 的 URL 模板支持通配符。这是一个类似的可能对您的场景Azure API 管理问题与 OData有帮助


推荐阅读