在Debian系统上实现Swagger API版本管理,可以遵循以下步骤:
首先,确保你的Debian系统已经安装了必要的软件包,包括Node.js、npm(Node.js的包管理器)和Swagger工具。
sudo apt update
sudo apt install nodejs npm
然后,安装Swagger命令行工具:
sudo npm install -g swagger-jsdoc swagger-ui-express
创建一个新的项目目录,并在其中组织你的API文件和Swagger配置。
mkdir swagger-api
cd swagger-api
mkdir src
mkdir config
在config目录下创建一个Swagger配置文件,例如swagger.js。
// config/swagger.js
const swaggerJsDoc = require('swagger-jsdoc');
const swaggerOptions = {
swaggerDefinition: {
info: {
title: 'My API',
version: '1.0.0',
description: 'A sample API',
},
},
apis: ['./src/**/*.js'], // 指定API文件路径
};
const swaggerDocs = swaggerJsDoc(swaggerOptions);
module.exports = swaggerDocs;
在src目录下创建你的API文件,例如user.js。
// src/user.js
/**
* @swagger
* /users:
* get:
* summary: List all users
* responses:
* '200':
* description: An array of users
*/
module.exports = (req, res) => {
res.json([{ id: 1, name: 'John Doe' }]);
};
在项目根目录下创建一个server.js文件,并设置Express服务器。
// server.js
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const swaggerDocs = require('./config/swagger');
const app = express();
const port = 3000;
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs));
app.use('/users', require('./src/user'));
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
现在你可以运行你的Express服务器,并访问Swagger UI来查看和测试你的API。
node server.js
打开浏览器并访问http://localhost:3000/api-docs,你应该能够看到Swagger UI界面,其中包含了你的API文档。
为了实现API版本管理,你可以在URL中添加版本号,例如/api/v1/users。
修改server.js文件:
// server.js
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const swaggerDocsV1 = require('./config/swagger-v1');
const swaggerDocsV2 = require('./config/swagger-v2');
const app = express();
const port = 3000;
app.use('/api-docs/v1', swaggerUi.serve, swaggerUi.setup(swaggerDocsV1));
app.use('/api-docs/v2', swaggerUi.serve, swaggerUi.setup(swaggerDocsV2));
app.use('/api/v1/users', require('./src/user-v1'));
app.use('/api/v2/users', require('./src/user-v2'));
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
创建新的Swagger配置文件swagger-v2.js:
// config/swagger-v2.js
const swaggerJsDoc = require('swagger-jsdoc');
const swaggerOptions = {
swaggerDefinition: {
info: {
title: 'My API',
version: '2.0.0',
description: 'A sample API',
},
},
apis: ['./src/**/*.js'], // 指定API文件路径
};
const swaggerDocs = swaggerJsDoc(swaggerOptions);
module.exports = swaggerDocs;
创建新的API文件user-v2.js:
// src/user-v2.js
/**
* @swagger
* /users:
* get:
* summary: List all users (v2)
* responses:
* '200':
* description: An array of users
*/
module.exports = (req, res) => {
res.json([{ id: 2, name: 'Jane Doe' }]);
};
现在,你可以通过访问http://localhost:3000/api-docs/v1和http://localhost:3000/api-docs/v2来查看不同版本的API文档。
通过这种方式,你可以在Debian系统上实现Swagger API版本管理。