How to export a Swagger JSON/YAML file from Swagger UI?
如何导出Swagger定义文件(它应该是JSON或YAML文件)? 我被要求这样做,而我对Swagger仅有粗略的了解。
我们确实有一个类似于
版本是
我没有看到"导出"按钮。 那么我该如何导出呢?
API定义的URL显示在Swagger UI的顶部栏中–在您的示例中,它是
1 | /v2/api-docs?group=full-petstore-api |
因此,完整的网址似乎是
1 | http://localhost:8080/v2/api-docs?group=full-petstore-api |
在较新版本的Swagger UI中,指向API定义的链接通常显示在API标题下方,因此您可以右键单击该链接并另存为。
如果您的Swagger UI没有指向API定义的可见链接,请查看页面源并查找
1 2 3 | const ui = SwaggerUIBundle({ url:"https://petstore.swagger.io/v2/swagger.json", // <------- dom_id: '#swagger-ui', |
如果看不到
有时,OpenAPI定义可能嵌入在.js文件中–在这种情况下,请使用此文件并去除多余的部分。
尽管它已经被回答并且是正确的,但我认为我应该发布它的详细版本。希望这对您有所帮助,
链接:https://editor.swagger.io/#
打开招摇的用户界面,检查(Shift + Ctrl + i),刷新页面,您将获得如下标签
选择" XHR"或"网络"选项卡下的"全部"选项卡,检查文件api-doc?group = *并单击子选项卡响应。 *现在复制ap-doc?group。**文件的内容,并使用相同的编辑器链接转换为yaml文件
链接:https://editor.swagger.io/#
JSON也可以内联到文档中,特别是针对Swagger 2.0版。如果在通过@Helen的答案后仍未找到任何内容,请尝试以下方法:
如果您看到一个
1 2 | <script id="swagger-data" type="application/json"> {"spec":{"definitions":{},"info":{},"paths":{},"schemes":[],"swagger":"2.0"}} |
我使用的是Django Rest Framework(所以
1)使用开发人员工具查看页面源。当我点击
2)另一种(可能更简单)的方法是将
这将直接吐出您需要的JSON。我通过将
对于
Swashbuckel.aspnet.core(5.5.0)
尝试
1 2 3 | services.AddControllers() .AddJsonOptions(options => options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter())); |
我在Web API核心项目中尝试过
你必须使用
System.Text.Json.Serialization;