Node的新手,真的很沮丧,多个库做同样的事情。我什么都不去。
我有现有的Node + express应用程序,需要集成swagger文档。 我找到的最有用的帖子是this one。但它只是希望有并行的api-docs.json文件。这不是自动生成的。
我想记录控制器中的每个API,并希望生成文档。有人能指出我更好的资源吗?
答案 0 :(得分:3)
最后,我能够使用swagger-jsdoc
步骤
添加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
* 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);
});