温馨提示×

怎么测试linux swagger接口

小樊
45
2026-09-15 19:02:28
栏目: 智能运维

在 Linux 环境下测试 Swagger 接口,常见做法有 通过 Swagger UI 页面测试用命令行工具(curl)用 HTTP 客户端(Postman / httpie) 等。下面按常见场景给你一套实用方案。


一、先确认 Swagger 接口信息

通常 Swagger 提供两类地址:

  • Swagger UI(可视化页面)
    http://ip:port/swagger-ui.html
    http://ip:port/swagger/index.html
    
  • OpenAPI 描述文件(JSON / YAML)
    http://ip:port/v2/api-docs
    http://ip:port/v3/api-docs
    

示例:

curl http://127.0.0.1:8080/v3/api-docs

二、方式一:直接用 Swagger UI(最方便)

  1. Linux 上如果有浏览器(或远程桌面):

    • 访问 http://ip:port/swagger-ui.html
    • 找到接口 → 点 Try it out
    • 填写参数 → Execute
  2. 如果是 无界面服务器

    • 在本地电脑浏览器访问服务器 IP
    • 或做 SSH 端口转发:
      ssh -L 8080:127.0.0.1:8080 user@server
      
      然后本地访问 http://127.0.0.1:8080/swagger-ui.html

三、方式二:用 curl 测试(Linux 最常用)

1️⃣ GET 请求

curl -X GET "http://127.0.0.1:8080/api/user/1" \
  -H "Authorization: Bearer token"

2️⃣ POST + JSON

curl -X POST "http://127.0.0.1:8080/api/login" \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"123456"}'

3️⃣ 带 Query 参数

curl "http://127.0.0.1:8080/api/list?page=1&size=10"

4️⃣ 上传文件

curl -F "file=@test.jpg" http://127.0.0.1:8080/upload

四、方式三:用 httpie(比 curl 更友好)

安装:

pip install httpie
# 或
apt install httpie

示例:

http POST http://127.0.0.1:8080/api/login \
  username=admin password=123456

五、方式四:用 Postman(Linux 也支持)

  1. 安装 Postman(Linux 有桌面版)
  2. 导入 Swagger:
    • File → Import → Link
    • http://ip:port/v3/api-docs
  3. 自动生成请求,直接测

六、自动化测试(进阶)

1️⃣ swagger-codegen

swagger-codegen generate \
  -i http://127.0.0.1:8080/v3/api-docs \
  -l python \
  -o client

2️⃣ Newman(Postman CLI)

newman run swagger-postman.json

七、常见问题排查

✅ 接口不通:

curl -v http://ip:port/swagger-ui.html

✅ 跨域 / 401:

  • 检查 token
  • 检查 Swagger 是否放行白名单

✅ 端口未开放:

netstat -tunlp | grep 8080

如果你愿意,可以告诉我:

  • 使用的是 Spring Boot / Go / Node 哪个?
  • 本地 Linux 还是服务器
  • 手动测还是自动化测

我可以直接给你对应命令示例。

0