在Linux环境下,使用Swagger实现API版本控制可以通过以下步骤进行:
安装Swagger工具:
npm install -g swagger-jsdoc swagger-ui-express
创建Swagger配置文件:
swagger.js
或swagger.json
。这个文件将定义你的API规范。const swaggerJsDoc = require('swagger-jsdoc');
const swaggerOptions = {
swaggerDefinition: {
openapi: '3.0.0',
info: {
title: 'My API',
version: '1.0.0',
description: 'API documentation for My API',
},
},
apis: ['./routes/*.js'], // 指定包含API路由的文件
};
const swaggerDocs = swaggerJsDoc(swaggerOptions);
module.exports = swaggerDocs;
集成Swagger UI:
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const swaggerDocs = require('./swagger');
const app = express();
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs));
// 其他路由和中间件
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
版本控制:
// swagger-v1.js
const swaggerJsDoc = require('swagger-jsdoc');
const swaggerOptionsV1 = {
swaggerDefinition: {
openapi: '3.0.0',
info: {
title: 'My API',
version: '1.0.0',
description: 'API documentation for My API version 1.0',
},
},
apis: ['./routes/v1/*.js'],
};
const swaggerDocsV1 = swaggerJsDoc(swaggerOptionsV1);
module.exports = swaggerDocsV1;
// swagger-v2.js
const swaggerJsDoc = require('swagger-jsdoc');
const swaggerOptionsV2 = {
swaggerDefinition: {
openapi: '3.0.0',
info: {
title: 'My API',
version: '2.0.0',
description: 'API documentation for My API version 2.0',
},
},
apis: ['./routes/v2/*.js'],
};
const swaggerDocsV2 = swaggerJsDoc(swaggerOptionsV2);
module.exports = swaggerDocsV2;
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const swaggerDocsV1 = require('./swagger-v1');
const swaggerDocsV2 = require('./swagger-v2');
const app = express();
app.use('/api-docs/v1', swaggerUi.serve, swaggerUi.setup(swaggerDocsV1));
app.use('/api-docs/v2', swaggerUi.serve, swaggerUi.setup(swaggerDocsV2));
// 其他路由和中间件
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
通过这种方式,你可以在Linux环境下使用Swagger实现API版本控制,并且可以通过不同的路径访问不同版本的API文档。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>