首页主机资讯如何在CentOS上测试Swagger

如何在CentOS上测试Swagger

时间2025-11-06 14:10:03发布访客分类主机资讯浏览1147
导读:一、准备工作:安装必要依赖 在CentOS上测试Swagger前,需先安装Node.js、npm(用于管理前端组件)和Docker(可选,用于快速部署Swagger UI/Editor)。 安装Node.js和npm: 执行以下命令安装...

一、准备工作:安装必要依赖

在CentOS上测试Swagger前,需先安装Node.js、npm(用于管理前端组件)和Docker(可选,用于快速部署Swagger UI/Editor)。

  1. 安装Node.js和npm
    执行以下命令安装Node.js(以v14.17.0为例):

    wget https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz
    tar -xf node-v14.17.0-linux-x64.tar.xz
    sudo mv node-v14.17.0-linux-x64 /usr/local/nodejs
    export PATH=$PATH:/usr/local/nodejs/bin  # 临时生效,建议写入~/.bashrc永久生效
    

    验证安装:node -v(显示版本号)、npm -v(显示版本号)。

  2. 安装Docker(可选)
    若使用Docker快速部署,执行以下命令:

    sudo yum install -y docker
    sudo systemctl start docker
    sudo systemctl enable docker
    

二、部署Swagger UI(核心测试界面)

Swagger UI是交互式测试工具,以下提供本地部署Docker部署两种方式:

1. 本地部署Swagger UI

  • 下载并解压Swagger UI
    cd /opt/swagger
    wget https://github.com/swagger-api/swagger-ui/archive/v3.34.0.tar.gz
    tar -xf v3.34.0.tar.gz
    cd swagger-ui-3.34.0
    
  • 配置Express静态服务
    npm init -y
    npm install express --save
    mkdir public
    cp -r dist/* public/  # 将Swagger UI静态文件复制到public目录
    
  • 创建启动脚本
    编辑index.js,配置静态资源路径和默认文档:
    var express = require('express');
        
    var app = express();
        
    app.use('/static', express.static('public'));
          // 静态资源路径
    app.get('/', (req, res) =>
     {
        
        res.sendFile(__dirname + '/public/index.html');
      // 默认加载Swagger UI
    }
        );
        
    app.listen(3000, () =>
         console.log('Swagger UI running on http://localhost:3000'));
        
    
  • 启动服务
    node index.js
    
    访问http://< CentOS_IP> :3000,即可看到Swagger UI界面。

2. Docker部署Swagger UI

若不想安装依赖,可使用Docker快速启动:

docker pull swaggerapi/swagger-ui:v4.15.5
docker run -d -p 8080:8080 -e SWAGGER_FILE=/app/swagger.json -v /opt/swagger/docs:/app swaggerapi/swagger-ui:v4.15.5
  • -e SWAGGER_FILE:指定Swagger文档路径(需提前将swagger.json放在/opt/swagger/docs目录);
  • 访问http://< CentOS_IP> :8080即可查看文档。

三、部署Swagger Editor(可选,用于编写文档)

若需要编写或修改Swagger文档(YAML/JSON格式),可部署Swagger Editor:

cd /opt/swagger
wget https://github.com/swagger-api/swagger-editor/archive/v3.14.0.tar.gz
tar -xf v3.14.0.tar.gz
cd swagger-editor-3.14.0
npm install -g http-server  # 安装静态服务器
http-server -p 8081  # 启动服务,默认端口8081

访问http://< CentOS_IP> :8081,即可在线编写API文档。

四、测试Swagger API

1. 通过Swagger UI测试(推荐)

  • 导入文档
    将Swagger文档(swagger.jsonswagger.yaml)上传至Swagger UI的public目录,或修改index.html中的SWAGGER_URL指向文档路径(如http://< CentOS_IP> :3000/static/your-swagger.json);
  • 测试接口
    在Swagger UI界面中,找到目标接口,点击右侧Try it out按钮,输入参数(若有),再点击Execute,即可查看接口响应结果(包括状态码、返回数据)。

2. 通过curl命令测试(命令行方式)

若不想使用浏览器,可直接用curl命令发送请求,验证接口功能:

  • GET请求(参数在URL中)
    curl "http://<
        server_ip>
        :<
        port>
        /api/endpoint?param1=value1&
        param2=value2"
    
  • POST请求(表单参数)
    curl -X POST "http://<
        server_ip>
        :<
        port>
        /api/endpoint" \
         -H "Content-Type: application/x-www-form-urlencoded" \
         -d "param1=value1&
        param2=value2"
    
  • POST请求(JSON参数)
    curl -X POST "http://<
        server_ip>
        :<
        port>
    /api/endpoint" \
         -H "Content-Type: application/json" \
         -d '{
    "key1":"value1","key2":"value2"}
        '
    
  • 带文件的POST请求
    curl -X POST "http://<
        server_ip>
        :<
        port>
        /api/upload" \
         -F "file=@/path/to/local/file" \
         -F "param1=value1"
    

五、注意事项

  • 防火墙设置:确保CentOS防火墙开放了Swagger UI(如3000、8080端口)和API服务的端口:
    sudo firewall-cmd --permanent --add-port=3000/tcp
    sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --reload
    
  • HTTPS配置:生产环境中建议使用HTTPS(可通过Nginx反向隧道配置),避免数据泄露。
  • 文档准确性:确保Swagger文档(swagger.json/swagger.yaml)与后端API接口一致,否则测试结果可能不准确。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在CentOS上测试Swagger
本文地址: https://pptw.com/jishu/743956.html
centos分区对软件兼容性有影响吗 CentOS如何集成Swagger

游客 回复需填写必要信息