Express整合swagger接口文档生成
废话不多说,使用express-swagger-generator,按步骤进行,完事!
第一步-npm拉包
npm i express-swagger-generator --save-dev
第二步-app.js配置
const app = express();
// 以下内容必须写在app=express()后,app.use()前
const expressSwagger = require('express-swagger-generator')(app);
let options = {
swaggerDefinition: {
info: {
description: 'This is a sample server',
title: 'Swagger',
version: '1.0.0',
},
host: 'localhost:3000',//地址
basePath: '/v1',//根地址
produces: [
"application/json",
"application/xml"
],
schemes: ['http', 'https'],
securityDefinitions: {
JWT: {
type: 'apiKey',
in: 'header',
name: 'Authorization',
description: "",
}
}
},
basedir: __dirname, //app absolute path
files: ['./routes/**/*.js'] //Path to the API handle folder
};
expressSwagger(options)
第三步-注释swagger说明
/**
* 测试使用---
* @route GET /test
* @group 测试模块 - 测试使用
* @param {string} email.query.required - username or email - eg: user@domain/用户账号
* @param {string} password.query.required - user's password/用户密码.
* @returns {object} 200 - {code:200,msg:'ok',data:null}
* @returns {Error} default - {code:500,msg:'error',data:null}
*/
router.get("/test", function (req, res, next) {
console.log(__dirname,__filename);
res.json({ code: 200, msg: 'ok', data: 1231 })
});
第四步-打开地址
http://localhost:3000/api-docs,以上配置的/api-doc即可