【问题标题】:Autoupdate OpenAPI Specification in APIMAPIM 中的自动更新 OpenAPI 规范
【发布时间】:2021-02-10 15:56:13
【问题描述】:

我在使用 asp.net 核心的 Web API 中有后端系统,我使用 Swashbuckle.AspNetCore 包生成 OpenAPI 规范文档。 OpenAPI 规范文档正在生成类似“~/swagger.json”的内容。我通过 OpenAPI 规范将这个 url 连接到 APIM 中,它就像一个魅力。

但是,如果“~/swagger.json”由于添加新操作、文档等而更新。 APIM 中没有反映这些更改。我该如何解决这个问题?

如果 APIM 无法自动检测到更改,那么我可以在 ARM 模板中提及 url '~/swagger.json' 类似的东西,并在为其他或更高环境执行 APIM 的完整部署时获得规范反映在那里。我还尝试从门户下载 ARM 模板,但看不到可以指定 '~/swagger.json' url 的地方。

UI 提供了再次导入规范的选项,但我们将不胜感激任何简单的自动化方式

【问题讨论】:

    标签: swagger asp.net-core-webapi azure-api-management webapi swashbuckle.aspnetcore


    【解决方案1】:

    在 Azure APIM REST API 中使用 PUT /apis/... 调用并在下面指定为有效负载:

    {
      "properties": {
        "format": "swagger-link-json",
        "value": "https://contoso.com/swagger.json"
      }
    }
    

    文档:https://docs.microsoft.com/en-us/rest/api/apimanagement/2019-12-01/apis/createorupdate#contentformat

    【讨论】:

    • 我可以在 ARM 模板中添加它作为资源的一部分,以便在 APIM 中生成规范吗?
    • 当然。一般来说,任何 ARM PUT API 调用都可以在 ARM 模板中使用。
    猜你喜欢
    • 2021-10-24
    • 2023-02-16
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2022-07-15
    • 2016-03-02
    相关资源
    最近更新 更多