【问题标题】:Odata $metadata routing with Azure API Management and adding route in Swagger使用 Azure API 管理的 Odata $metadata 路由并在 Swagger 中添加路由
【发布时间】:2020-07-19 16:35:40
【问题描述】:

我在放置现有 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 路由?

【问题讨论】:

  • 您是否尝试过在 APIM 中使用“/$metadata”的 URL 模板手动定义操作?
  • 我为 swagger 创建了明确的路由,因为 APIM 正在根据 swagger 定义生成路由。由于 API +OData 路由说两个 getoperatwith 相同的操作 Id,我得到了错误

标签: api .net-core odata azure-web-app-service azure-api-management


【解决方案1】:

APIM 的 URL 模板支持通配符。这是一个类似的,可能对您的场景有帮助Azure API Management issue with OData

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-18
  • 2014-03-01
  • 2014-09-15
  • 1970-01-01
相关资源
最近更新 更多