linux

如何在Linux上使用Swagger进行API文档共享

小樊
45
2025-03-01 22:53:36
栏目: 智能运维

在Linux上使用Swagger进行API文档共享,可以按照以下步骤进行:

1. 安装Node.js和npm

首先,需要在Linux系统上安装Node.js和npm。可以通过以下命令进行安装:

# 更新包列表
sudo apt update

# 安装Node.js和npm
sudo apt install -y nodejs npm

2. 安装Swagger Editor

下载并解压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

3. 启动Swagger Editor

使用以下命令启动Swagger Editor:

# 安装http-server全局
npm install -g http-server

# 启动Swagger Editor
http-server -p 8080

现在,可以通过浏览器访问http://your_server_ip:8080来使用Swagger Editor。

4. 安装Swagger UI

下载并解压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

5. 启动Swagger UI

使用以下命令启动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。

6. 使用Docker进行部署(可选)

为了方便远程访问和团队协作,可以使用Docker进行部署。

部署Swagger Editor

# 拉取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进行内网穿透:

# 安装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文档的共享和远程访问。

0
看了该问题的人还看了