如何从Swagger UI导出Swagger JSON / YAML文件?

问题描述 投票:14回答:1

如何导出Swagger定义文件(它应该是JSON或YAML文件)?我被要求这样做,而且我对Swagger只有粗略的了解。

我们的端点看起来像http://example.com//swagger/ui/index#!,看起来像这样(截图不是我们真正的端点,但我不能发布):

enter image description here

版本是api version: v1

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

swagger swagger-ui
1个回答
33
投票

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标题下方,因此您可以右键单击链接并另存为。

如果您的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过滤以缩小列表范围。

© www.soinside.com 2019 - 2024. All rights reserved.