首页 > 解决方案 > 是否可以获得网站的 swagger 文档的离线版本?

问题描述

localhost/swagger 正在按预期加载,但 remoteserver/swagger 有问题。我是否可以保存生成的 swagger 文档的脱机副本?在尝试调试远程问题时,我可以将 zip 文件发送给几个用户。

标签: c#.netasp.net-web-apiasp.net-web-api2swagger

解决方案


如果您由于某种原因不能自己托管 Swagger UI,有很多方法可以向您的用户提供 API 文档。所有建议都假定您有一个 OpenAPI (Swagger) 定义,即 YAML/JSON 文件。如果不知道 YAML/JSON 文件的位置,可以从 Swagger UI 网页中推断出来

没有特别的顺序:

  1. 将 YAML/JSON 文件发送给您的用户并告诉他们将其加载到http://editor.swagger.io以预览 API 文档。

  2. 将您的 OpenAPI 定义文件导入SwaggerHub并在其中托管您的 API 文档。
    披露:SwaggerHub 由我工作的公司制作。

  3. 将您的 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

  1. 如此处所述,将 Swagger UI 和您的 OpenAPI 定义“打包”到单个无依赖文件,并将生成的文件发送给您的用户。

  2. 生成静态 HTML 文档(不是 Swagger UI,而是无需“试用”的静态 HTML 页面):将 OpenAPI 定义加载到http://editor.swagger.io中,然后选择菜单项Generate Client > html or html2 or dynamic -html

“生成客户端”功能使用Swagger Codegen,因此您也可以使用 Codegen 的 CLI 版本来生成所需的输出。

  1. 想要PDF?可以将 OpenAPI 定义转换为 PDF

也可以看看:


推荐阅读