Node.js Swagger 生成 UI 文档 JSON 提要

Node.js Swagger generate UI doc JSON feed

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

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

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

您还可以使用 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

我想你明白了。

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

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

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

所以在这种情况下,如果您将 swagger.json 文件放在 public 目录下,您可以通过以下方式访问它:

http://<yoursite>/swagger.json

只需测试一下您是否真的可以从浏览器中的 url 访问您的 swagger 文档。当您设置 swagger-ui 时,将 URL 放入上面的 'url' 参数中,您应该可以开始了。 Swagger-ui 将为您完成剩下的工作,它将从您的站点中提取 json 或 yaml 定义并生成交互式文档站点。