我正在使用Node.js和Swagger构建一个restful API。 Swagger UI(这里的演示链接http://petstore.swagger.io/)需要JSON提要。
如何根据Swagger规范yaml文件生成此Feed?是否有一个npm模块可以迭代yaml文件并生成JSON提要?我是Swagger的新手所以我可能忽略了一些东西。
答案 0 :(得分:4)
Swagger UI现在应该支持YAML。您可以使用JSYAML库将YAML转换为JSON。
答案 1 :(得分:3)
您也可以使用Swagger编辑器:
我不能说我之前尝试过,但您可以上传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定义并生成交互式文档站点。