1、什么是swagger
Swagger 是一种用于构建、文档化和测试 RESTful API 的工具集。Swagger UI 是 Swagger 的一个用户界面,用于可视化展示和交互式测试 API 文档。
2、引入swagger-ui-express和swagger-jsdoc
swagger-ui-express 是一个 Express 中间件,用于将 Swagger UI 集成到 Express 应用程序中。swagger-jsdoc 是一个用于生成 Swagger 规范的 JSDoc 注释解析器。
npm install swagger-ui-express swagger-jsdoc
3、封装一个中间件(路径指向controllers)
const swaggerUi = require('swagger-ui-express');
const swaggerJsdoc = require('swagger-jsdoc');
const path = require('path');
module.exports = (app) => {
const options = {
definition: {
openapi: '3.0.0',
info: {
title: 'My API',
version: '1.0.0'
}
},
// 指向制定路径
apis: [path.join(__dirname, '../controllers/*.js')]
};
const openapiSpecification = swaggerJsdoc(options);
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(openapiSpecification));
};
4、全局注册
const express = require('express');
const app = express();
const swagger = require('./middleware/swagger.js');
swagger(app);