在Linux上使用Swagger进行API文档共享,可以按照以下步骤进行:
首先,需要在Linux系统上安装Node.js和npm。可以通过以下命令进行安装:
# 更新包列表
sudo apt update
# 安装Node.js和npm
sudo apt install -y nodejs npm
下载并解压Swagger Editor:
# 下载Swagger Editor
wget https://github.com/swagger-api/swagger-editor/archive/refs/tags/v3.50.0.tar.gz
# 解压文件
tar -xvf swagger-editor-3.50.0.tar.gz
# 进入解压后的目录
cd swagger-editor-3.50.0
使用以下命令启动Swagger Editor:
# 安装http-server全局
npm install -g http-server
# 启动Swagger Editor
http-server -p 8080
现在,可以通过浏览器访问http://your_server_ip:8080
来使用Swagger Editor。
下载并解压Swagger UI:
# 下载Swagger UI
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.50.0.tar.gz
# 解压文件
tar -xvf swagger-ui-3.50.0.tar.gz
# 进入解压后的目录
cd swagger-ui-3.50.0
使用以下命令启动Swagger UI:
# 安装express全局
npm install -g express
# 创建一个简单的HTML文件来加载Swagger Editor
mkdir public
cd public
nano index.html
在index.html
文件中添加以下内容:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="swagger-editor.css">
</head>
<body>
<div id="swagger-editor"></div>
<script src="swagger-editor.js"></script>
<script>
window.onload = function() {
const editor = SwaggerEditor({
url: "https://petstore.swagger.io/v2/api-docs",
dom_id: '#swagger-editor'
});
};
</script>
</body>
</html>
然后,在public
目录下创建一个简单的index.js
文件来启动服务器:
var express = require('express');
var app = express();
app.use('/swagger', express.static('public'));
app.get('/', function (req, res) {
res.send('Hello World');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log("应用实例,访问地址为 http://%s:%s", host, port);
});
启动服务器:
node index.js
现在,可以通过浏览器访问http://your_server_ip:3000/swagger
来使用Swagger UI。
为了方便远程访问和团队协作,可以使用Docker进行部署。
# 拉取Swagger Editor容器
docker pull swaggerapi/swagger-editor
# 运行容器,将容器的8080端口映射到宿主机的8088端口
docker run -p 8088:8080 -d swaggerapi/swagger-editor
现在,可以通过浏览器访问http://your_server_ip:8088
来使用Swagger Editor。
为了实现远程访问,可以使用Cpolar进行内网穿透:
# 安装Cpolar
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
# 启动Cpolar服务
sudo systemctl enable cpolar
sudo systemctl start cpolar
# 配置Swagger Editor公网地址
# 在Cpolar管理界面配置公网地址隧道
通过以上步骤,你可以在Linux上成功部署Swagger Editor和Swagger UI,并实现API文档的共享和远程访问。