APIM 中的自动更新 OpenAPI 规范
Posted
技术标签:
【中文标题】APIM 中的自动更新 OpenAPI 规范【英文标题】:Autoupdate OpenAPI Specification in APIM 【发布时间】: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 提供了再次导入规范的选项,但我们将不胜感激任何简单的自动化方式
【问题讨论】:
【参考方案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 模板中使用。以上是关于APIM 中的自动更新 OpenAPI 规范的主要内容,如果未能解决你的问题,请参考以下文章
Helidon MP OpenAPI不会生成更新的openapi端点响应
在 Spring Boot 中自动生成 API 文档 [关闭]