在Linux环境下,使用Swagger实现API文档版本控制可以通过以下步骤进行:
安装Swagger工具: 首先,确保你已经安装了Swagger工具。你可以使用npm(Node.js的包管理器)来安装Swagger命令行工具。
npm install -g swagger-jsdoc swagger-ui-express
创建Swagger配置文件:
创建一个Swagger配置文件,通常命名为swagger.json或swagger.yaml。在这个文件中,你可以定义API的版本信息。
swagger: '2.0'
info:
  title: Sample API
  description: API documentation for version 1.0
  version: '1.0.0'
paths:
  /users:
    get:
      summary: Get a list of users
      responses:
        '200':
          description: A JSON array of users
在Express应用中使用Swagger UI:
在你的Express应用中,使用swagger-ui-express中间件来展示Swagger UI,并加载你的Swagger配置文件。
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const swaggerDocument = require('./swagger.json');
const app = express();
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
app.listen(3000, () => {
  console.log('Server is running on port 3000');
});
版本控制Swagger配置文件:
为了实现版本控制,你可以为每个版本的API创建一个单独的Swagger配置文件,例如swagger-v1.0.json和swagger-v2.0.json。然后在主Swagger配置文件中引用这些版本配置文件。
swagger: '2.0'
info:
  title: Sample API
  description: API documentation for multiple versions
  version: '1.0.0'
basePath: /v1
paths:
  /users:
    get:
      summary: Get a list of users (version 1)
      responses:
        '200':
          description: A JSON array of users
动态加载Swagger配置文件: 你可以在Express应用中根据请求的路径动态加载相应的Swagger配置文件。
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const fs = require('fs');
const path = require('path');
const app = express();
app.use('/api-docs', (req, res) => {
  const version = req.path.split('/')[1]; // Extract version from URL path
  const swaggerConfigPath = path.join(__dirname, `swagger-v${version}.json`);
  if (fs.existsSync(swaggerConfigPath)) {
    const swaggerDocument = require(swaggerConfigPath);
    swaggerUi.serve(req, res, swaggerDocument);
  } else {
    res.status(404).send('Swagger documentation not found for this version');
  }
});
app.listen(3000, () => {
  console.log('Server is running on port 3000');
});
通过以上步骤,你可以在Linux环境下使用Swagger实现API文档的版本控制。这样,你可以轻松地管理和维护不同版本的API文档。