環境準備
sudo apt update && sudo apt install nodejs npm
。npm install swagger-ui-express swagger-jsdoc
。文檔配置
swagger.json
或swagger.yaml
文件,定義API路徑、參數、響應等,可使用Swagger Editor(https://editor.swagger.io/)編輯。{
"swagger": "2.0",
"info": {"title": "API文檔", "version": "1.0.0"},
"basePath": "/api",
"paths": {
"/users": {
"get": {
"summary": "獲取用戶列表",
"responses": {"200": {"description": "用戶列表"}}
}
}
}
}
集成到應用
app.js
中添加: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('服務運行在 http://localhost:3000/api-docs'));
反向代理(可選)
location /api-docs {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
}
版本管理
/api/v1/
、/api/v2/
,每個版本對應獨立的Swagger配置文件。/api-docs?v=2
。自動化更新
安全與監控
文檔優化
@example
注解提升可讀性。swagger-ui-express
集成到現有Node.js服務。參考來源: