Swagger是一个流行的API文档工具,下面我将详细介绍在Linux环境下配置Swagger的步骤。
Swagger UI通常需要Node.js环境:
# 对于Ubuntu/Debian
sudo apt update
sudo apt install nodejs npm
# 对于CentOS/RHEL
sudo yum install nodejs npm
# 验证安装
node -v
npm -v
npm install swagger-ui-express -g
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v5.9.0.tar.gz
tar -xzvf v5.9.0.tar.gz
cd swagger-ui-5.9.0/dist
mkdir swagger-demo
cd swagger-demo
npm init -y
npm install express swagger-ui-express
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('Server running on http://localhost:3000');
});
swagger.json
文件(示例):{
"openapi": "3.0.0",
"info": {
"title": "Sample API",
"version": "1.0.0"
},
"paths": {
"/users": {
"get": {
"summary": "Get all users",
"responses": {
"200": {
"description": "OK"
}
}
}
}
}
}
dist
目录复制到你的web服务器目录dist/index.html
中的URL指向你的API文档:window.onload = function() {
const ui = SwaggerUIBundle({
url: "http://your-api-url/swagger.json",
dom_id: '#swagger-ui',
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
layout: "StandaloneLayout"
});
}
server {
listen 80;
server_name api.example.com;
location /api-docs/ {
alias /path/to/swagger-ui/dist/;
try_files $uri $uri/ /index.html;
}
location /swagger.json {
alias /path/to/your/swagger.json;
}
}
对于Node.js应用:
node app.js
访问http://your-server:3000/api-docs
查看Swagger UI界面。
docker pull swaggerapi/swagger-editor
docker run -d -p 8080:8080 swaggerapi/swagger-editor
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.41/swagger-codegen-cli-3.0.41.jar -O swagger-codegen-cli.jar
java -jar swagger-codegen-cli.jar generate \
-i http://petstore.swagger.io/v2/swagger.json \
-l python \
-o /tmp/python-client
希望这个指南能帮助你在Linux环境下成功配置Swagger!