gpt4 book ai didi

swagger - 如何导出 swagger.json(或 yaml)

转载 作者:行者123 更新时间:2023-12-02 02:03:10 26 4
gpt4 key购买 nike

如何导出 Swagger 定义文件?它应该是 JSON 或 YAML 文件,例如swagger.json 或 swagger.yaml。

假设我有一个类似于 http://example.com//swagger/ui/index#! 的端点:

enter image description here

版本为api版本:v1

我看不到“导出”按钮。那么如何导出呢?

最佳答案

API 定义的 URL 显示在 Swagger UI 的顶部栏中 - 在您的示例中是

/v2/api-docs?group=full-petstore-api

所以完整的 URL 看起来是

http://localhost:8080/v2/api-docs?group=full-petstore-api

在较新版本的 Swagger UI 中,API 定义的链接通常显示在 API 标题下方,因此您可以右键单击该链接并另存为。

Link to API definition in Swagger UI 3.x


如果您的 Swagger UI 没有指向 API 定义的可见链接,请查看页面源代码并查找 url 参数,例如:

const ui = SwaggerUIBundle({
url: "https://petstore.swagger.io/v2/swagger.json", // <-------
dom_id: '#swagger-ui',

如果您没有看到 url 或者 url 是代码表达式,请打开浏览器开发工具,切换到网络选项卡并禁用缓存。然后刷新页面并在 HTTP 请求中搜索 API 定义文件(swagger.jsonswagger.yamlapi-docs 或类似文件) 。您可以按XHR进行过滤以缩小列表范围。

Finding the Swagger file on the Network tab of browser dev tools


查找实际 url 的另一种方法是使用浏览器控制台并根据您的 UI 版本评估以下值之一:

  • Swagger UI 3.x:

    ui.getConfigs().url
  • Swagger UI 2.x:

    swaggerUi.api.url


有时,OpenAPI 定义可能嵌入在 .js 文件中 - 在这种情况下,获取此文件并删除额外的部分。

OpenAPI definition embedded in a JavaScript file

关于swagger - 如何导出 swagger.json(或 yaml),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48525546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com