如何记录现有的 nodejs API?

How to document existing nodejs APIs?

Node 新手,对多个库做同样的事情感到非常沮丧。我哪儿也不去。

我有现有的Node + express 应用程序,需要集成swagger 文档。 我发现最有用的帖子是 。但它只是希望有并行 api-docs.json 文件。这不是自动生成的。

我想在控制器中记录每个 API,并希望生成文档。谁能给我指点更好的资源?

我终于可以使用 swagger-jsdoc

步骤

  • 添加Swagger-UI
  • 添加swagger-ui依赖

    npm install -g swagger-ui

  • 在您的 server.js 文件中配置 swagger

    var swaggerJSDoc = require('swagger-jsdoc'); var options = { swaggerDefinition: { info: { title: 'Hello World', // Title (required) version: '1.0.0', // Version (required) }, }, apis: ['./routes.js'], // Path to the API docs }; var swaggerSpec = swaggerJSDoc(options); app.get('/api-docs.json', function(req, res) { res.setHeader('Content-Type', 'application/json'); res.send(swaggerSpec); }); app.use('/api/docs',express.static('./node_modules/swagger-ui/dist'));

  • 为您的控制器函数添加 swagger 注释

/** * @swagger * resourcePath: /api * description: All about API */

/** * @swagger * /login: * post: * description: Login to the application * produces: * - application/json * parameters: * - name: username * description: Username to use for login. * in: formData * required: true * type: string * - name: password * description: User's password. * in: formData * required: true * type: string * responses: * 200: * description: login */ app.post('/login', function(req, res) { res.json(req.body); });