将Swagger规范JSON转换为HTML文档

对于用PHP编写的一些REST API,我被要求创buildSwagger文档,因为我没有意识到向这些现有的API添加注释并创build这样的文档的简单方法,所以我现在使用这个编辑器来生成一些。

我保存了使用该编辑器创build的JSON和YAML文件,现在我需要创build最终的交互式Swagger文档(该语句听起来可能幼稚而含糊)。 有人可以让我知道如何将Swagger JSON规范文件转换为实际的Swagger文档? 我在Windows平台上,对Ant / Maven一无所知。

当我正在寻找一个工具来做这件事的时候,我对swagger-codegen并不满意,所以我写了自己的。 看看bootprint-swagger

swagger-codegen比较的主要目标是提供一个简单的设置(尽pipe你需要nodejs)。 应该很容易地将样式和模板适应自己的需要,这是引导logging打印项目的核心function

请参阅GitHub上的swagger-api / swagger-codegen项目; 该项目自述展示了如何使用它来生成静态HTML。 请参阅生成静态api文档 。

如果你想查看swagger.json,你可以安装Swagger UI并运行它。 您只需将其部署到Web服务器(克隆GitHub中的repo后的dist文件夹),然后在浏览器中查看Swagger UI。 这是一个JavaScript应用程序。

检查出漂亮的赃物

它有

  1. 类似Swagger-Editor的右侧面板
  2. search/filter
  3. 架构折叠
  4. 实时反馈
  5. 输出为单个HTML文件

我正在看Swagger Editor,并认为它可以导出预览窗格,但事实certificate它不能。 所以我写了我自己的版本。

完全披露:我是该工具的作者。

你也可以从https://github.com/swagger-api/swagger-ui下载swagger ui,取dist文件夹,修改index.html:改变构造函数

 const ui = SwaggerUIBundle({ url: ..., 

 const ui = SwaggerUIBundle({ spec: YOUR_JSON, 

现在dist文件夹包含您需要的所有内容,并可以按原样分发

看看这个链接:http: //zircote.com/swagger-php/installation.html

  1. 下载phar文件https://github.com/zircote/swagger-php/blob/master/swagger.phar
  2. 安装composer phphttps://getcomposer.org/download/
  3. 制作composer.json
  4. 克隆swagger-php / library
  5. 克隆swagger-ui /库
  6. 为API创build资源和模型php类
  7. 执行PHP文件来生成json
  8. 在api-doc.json中给出json的path
  9. 在swagger-ui dist文件夹中的index.php中提供api-doc.json的path

如果您需要其他帮助,请随时询问。

一切都太困难或严重logging,所以我解决了这个简单的脚本swagger-yaml-to-html.py ,它的工作原理是这样的

 python swagger-yaml-to-html.py < /path/to/api.yaml > doc.html 

这是YAML,但修改它与JSON一起工作也是微不足道的。