如何logging现有的nodejs API?

新的节点,真的很沮丧与多个库做同样的事情。 我没有去哪里。

我有现有的Node +快速应用程序,并需要整合swagger文档。 我发现最有用的线程是这一个 。 但它只是希望有平行的api-docs.json文件。 这不是自动生成的。

我想在控制器中logging每个API,并且想要生成文档。 有人能指点我更好的资源吗?

最后我能够使用swagger-jsdoc工作

脚步

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

    npm install -g swagger-ui

  • 在你的server.js文件中configurationswagger

    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'));

  • 在您的控制器function中添加招摇评论

/** * @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); });

  • Swagger文档可在http:// localhost:3000 / api / docs /?url = / api-docs.json中find