Swagger在CentOS上的集成步骤
在集成Swagger前,需确保CentOS系统具备Node.js(用于运行Swagger UI/Editor)和Git(用于克隆项目)环境。
sudo yum update -y同步系统软件包。sudo yum install -y gcc-c++ make。curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -。sudo yum install -y nodejs。node -v(应输出版本号,如v14.17.0)、npm -v(应输出版本号,如6.14.13)。Swagger UI是交互式API文档界面,适合快速查看和测试API。
mkdir -p /opt/swagger && cd /opt/swagger
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.34.0.tar.gz
tar -xzf v3.34.0.tar.gz
cd swagger-ui-3.34.0
npm install express --save
mkdir public
cp -r dist/* public/
index.js,内容如下:const express = require('express');
const app = express();
app.use('/static', express.static('public'));
app.listen(3000, () => console.log('Swagger UI running on port 3000'));
node index.js。http://<服务器IP>:3000/static/index.html,即可看到Swagger UI界面。Swagger Editor支持在线编写OpenAPI规范(YAML/JSON),并实时预览文档。
cd /opt/swagger
wget https://github.com/swagger-api/swagger-editor/archive/v3.14.0.tar.gz
tar -xzf v3.14.0.tar.gz
cd swagger-editor-3.14.0
npm install -g http-server
http-server -p 8080
http://<服务器IP>:8080,即可在线编写API文档。若系统已安装Docker,可通过镜像快速部署Swagger UI。
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
docker pull swaggerapi/swagger-ui
docker run -d -p 80:8080 --name swagger-ui swaggerapi/swagger-ui
http://<服务器IP>,即可看到Swagger UI界面(镜像默认指向PetStore示例API,可替换为自定义API地址)。无论选择哪种方案,均需将自定义API文档集成到Swagger中:
swagger.yaml或swagger.json。/opt/swagger/public目录(如cp swagger.yaml /opt/swagger/public)。public/index.html,找到url: "https://petstore.swagger.io/v2/swagger.json",替换为url: "/static/your-swagger-file.json"。sudo firewall-cmd --add-port=3000/tcp --permanent并sudo firewall-cmd --reload。