Node.js Swagger生成UI doc JSON feed

时间:2015-07-26 23:38:17

标签: node.js swagger

我正在使用Node.js和Swagger构建一个restful API。 Swagger UI(这里的演示链接http://petstore.swagger.io/)需要JSON提要。

如何根据Swagger规范yaml文件生成此Feed?是否有一个npm模块可以迭代yaml文件并生成JSON提要?我是Swagger的新手所以我可能忽略了一些东西。

2 个答案:

答案 0 :(得分:4)

Swagger UI现在应该支持YAML。您可以使用JSYAML库将YAML转换为JSON。

答案 1 :(得分:3)

您也可以使用Swagger编辑器:

http://editor.swagger.io/#/

我不能说我之前尝试过,但您可以上传YAML并导出为YAML或JSON。

之前我使用过编辑器并且非常喜欢它。

编辑:

所以要设置swagger ui,我做了以下事情:

var swaggerUi = new SwaggerUi({
  url:"http://petstore.swagger.io/v2/swagger.json",
  dom_id:"swagger-ui-container"
});

swaggerUi.load();

来自这里:

https://github.com/swagger-api/swagger-ui

我认为你有那个部分。

至于doc(YAML或JSON),只需从您的站点提供。如果您在nodejs服务器上使用express,则只需静态提供文件:

http://expressjs.com/starter/static-files.html

app.use('/static', express.static('public'));

因此,在这种情况下,如果您将swagger.json文件放在公共目录下,则可以使用以下命令访问它:

http://<yoursite>/swagger.json

只是测试您是否可以从浏览器中的该网址实际获取您的swagger文档。当您设置swagger-ui时,将该URL放入上面的“url”参数中,您应该去。 Swagger-ui将为您完成剩下的工作,它将从您的站点中提取json或yaml定义并生成交互式文档站点。