为现有NodeJS服务器生成Swagger文档

根据Swagger网站 ,有两种方法:自下而上和自上而下。

我有一个现有的NodeJS服务器,我想在Azure环境中部署,需要一个swagger文档(API APP)。

有没有人知道使用代码生成招摇的工具? 更好的是,如果你能指出一个教程。 我无法find它。

       

网上收集的解决方案 "为现有NodeJS服务器生成Swagger文档"

遵循本教程 ,将Swagger集成到现有的快速应用程序中并不困难。

一般来说,我们可以按照下面的步骤

  1. 在我们的package.json添加依赖关系,然后运行npm install来安装它们。 依赖性应该是:

     "dependencies": { "swagger-node-express": "~2.0", "minimist": "*", "body-parser": "1.9.x", ... } 
  2. 下载Swagger-UI的zip项目,将dist文件夹复制到我们项目的根目录下,目录应该像下面这样:

在这里输入图像描述

  1. app.js的beginnng中引入依赖关系:

     var argv = require('minimist')(process.argv.slice(2)); var swagger = require("swagger-node-express"); var bodyParser = require( 'body-parser' ); 
  2. 为swagger doc设置一个子path:

     var subpath = express(); app.use(bodyParser()); app.use("/v1", subpath); swagger.setAppHandler(subpath); 
  3. 确保/dist能够以express方式提供静态文件: app.use(express.static('dist'));

  4. 设置API的信息:

     swagger.setApiInfo({ title: "example API", description: "API to do something, manage something...", termsOfServiceUrl: "", contact: "yourname@something.com", license: "", licenseUrl: "" }); 
  5. 为swagger UI引入/dist/index.html

     subpath.get('/', function (req, res) { res.sendfile(__dirname + '/dist/index.html'); }); 
  6. 完成招摇的configuration:

     swagger.configureSwaggerPaths('', 'api-docs', ''); var domain = 'localhost'; if(argv.domain !== undefined) domain = argv.domain; else console.log('No --domain=xxx specified, taking default hostname "localhost".'); var applicationUrl = 'http://' + domain; swagger.configure(applicationUrl, '1.0.0'); 
  7. /dist/index.htmlconfigurationdoc文件依赖关系:

     if (url && url.length > 1) { url = decodeURIComponent(url[1]); } else { <del>url = "http://petstore.swagger.io/v2/swagger.json";</del> url = "/api-docs.json"; } 
  8. 用你的API的信息创buildapi-docs.json文件,把它放在dist文件夹中。

在本地运行Express应用程序,访问http://localhost:3000/v1 ,我们可以检查swagger文档。

这里是我的testing样品回购供您参考。

据我所知,你的select是:

  1. 使用swagger-node-express这在我看来是非常麻烦的。
  2. 按照本答复build议,在swagger编辑器的帮助下手动编写swagger文档

如果你select2,你可以用swagger-ui-express生成swagger-ui