c# - 是否可以获得网站的 swagger 文档的离线版本?
问题描述
localhost/swagger 正在按预期加载,但 remoteserver/swagger 有问题。我是否可以保存生成的 swagger 文档的脱机副本?在尝试调试远程问题时,我可以将 zip 文件发送给几个用户。
解决方案
如果您由于某种原因不能自己托管 Swagger UI,有很多方法可以向您的用户提供 API 文档。所有建议都假定您有一个 OpenAPI (Swagger) 定义,即 YAML/JSON 文件。如果不知道 YAML/JSON 文件的位置,可以从 Swagger UI 网页中推断出来。
没有特别的顺序:
将 YAML/JSON 文件发送给您的用户并告诉他们将其加载到http://editor.swagger.io以预览 API 文档。
将您的 OpenAPI 定义文件导入SwaggerHub并在其中托管您的 API 文档。
披露:SwaggerHub 由我工作的公司制作。将您的 OpenAPI 定义文件放在任何公共 Web 服务器上,例如在 GitHub 上创建一个 gist 。然后,您可以通过将 API 文档加载到 Swagger UI 公共演示中来呈现 API 文档,如下所示:
http://petstore.swagger.io?url=YOUR_YAML_or_JSON_URL
如果使用 gist,请确保指定原始 gist 链接 ( https://gist.githubusercontent.com/... )。如果使用其他主机,请确保主机服务器支持CORS。
如此处所述,将 Swagger UI 和您的 OpenAPI 定义“打包”到单个无依赖文件中,并将生成的文件发送给您的用户。
生成静态 HTML 文档(不是 Swagger UI,而是无需“试用”的静态 HTML 页面):将 OpenAPI 定义加载到http://editor.swagger.io中,然后选择菜单项Generate Client > html or html2 or dynamic -html。
“生成客户端”功能使用Swagger Codegen,因此您也可以使用 Codegen 的 CLI 版本来生成所需的输出。
- 想要PDF?可以将 OpenAPI 定义转换为 PDF。
也可以看看:
推荐阅读
- c# - 如何在不覆盖信息的情况下将哈希图添加到已经存在的哈希图中?
- reactjs - 自定义 React Hook 未按预期工作
- reactjs - 如何将垂直滚动添加到 reactstrap 轮播幻灯片内容
- php - json中的str_replace值如何?
- json - Django 将 lat lon 模型转换为一个点域并通过 geojson 对其进行序列化
- botframework - SharePoint 2016 - 在母版页中添加 Direct Line 聊天机器人以使其在所有页面中可用
- python - 将数据框日期索引复制到列表中
- python - 通过python脚本在IDLE中打开文件
- javascript - Rollup.js 构建后错误:错误:找不到模块 './polyfills.js'
- mysql - Heroku 应用程序在 CleasDB 上具有 Mysql 数据库非常慢