Swagger UI是Linux下最常用的可视化测试工具,无需编写代码即可快速验证接口。
38081),确保能通过浏览器访问。docker pull swaggerapi/swagger-ui:v4.15.5 docker run -d -p 38081:8080 swaggerapi/swagger-ui:v4.15.5 http://localhost:38081/swagger-ui.html,点击“File”→“Import File”,上传项目的swagger.json或swagger.yaml文件(需提前从后端服务获取,如Spring Boot项目的/v2/api-docs接口)。page、limit,POST请求的JSON body),点击“Execute”发送请求。下方会显示响应状态码(如200表示成功)、响应时间及各字段的具体值,便于快速验证接口功能。对于习惯命令行的用户,curl是轻量级的测试工具,支持GET、POST等多种请求方式,适合快速验证接口连通性。
curl "http://<server-ip>:<port>/api/user/query-user-info?page=1&limit=10" curl -X POST "http://<server-ip>:<port>/api/factory/insert" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "factoryName=TestFactory&no=123&remark=TestRemark" curl -X POST "http://<server-ip>:<port>/api/material/selectAll" \ -H "Content-Type: application/json" \ -d '{"factory":"TestFactory","materialName":"TestMaterial","offset":0,"page":1,"pageSize":10}' curl -X POST "http://<server-ip>:<port>/api/all/order/money" \ -F "file=@/path/to/local/file.xlsx" \ -F "startTime=2025-01-01" \ -F "endTime=2025-06-30" 执行后,终端会输出接口的响应内容(如JSON格式的数据),可直接查看结果。若需要频繁测试或集成到CI/CD流程,可通过Swagger Codegen生成客户端代码,再用测试框架(如Python的pytest、Java的JUnit)编写自动化测试脚本。
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.44/swagger-codegen-cli-3.0.44.jar -O swagger-codegen-cli.jar java -jar swagger-codegen-cli.jar generate -i http://localhost:8080/v2/api-docs -l python -o ./generated-client pytest和requests库编写测试用例(如测试获取用户列表接口)。import pytest import requests BASE_URL = "http://localhost:8080/api" def test_get_user_list(): response = requests.get(f"{BASE_URL}/users") assert response.status_code == 200 # 验证状态码 data = response.json() assert isinstance(data, list) # 验证返回数据为列表 if data: # 验证列表不为空时的字段 assert "id" in data[0] assert "name" in data[0] pytest test_api.py,查看测试结果(如通过/失败用例数)。Postman是常用的API测试工具,其Newman CLI组件支持将Postman集合转换为命令行脚本,适合集成到CI/CD流程。
swagger.json导出为Postman Collection JSON文件(如swagger-collection.json)。npm install -g newman report.html)。newman run swagger-collection.json -r cli,json,html 报告会显示每个接口的状态码、响应时间、错误信息等,便于团队协作分析。Dredd是一款专门针对OpenAPI规范的测试工具,可验证接口实现是否符合文档定义(如参数类型、响应格式)。
npm install -g dredd swagger.yaml)和接口地址(http://localhost:8080)。dredd swagger.yaml http://localhost:8080 Dredd会自动比对文档与实际接口的差异,输出不符合规范的项目(如缺失的参数、错误的响应状态码),帮助维护接口文档的一致性。若需快速检测Swagger接口的安全漏洞(如未授权访问、敏感信息泄露),可使用swagger-hacker.py脚本。
git clone https://github.com/jayus0821/swagger-hack.git cd swagger-hack https://example.com/swagger.json)。python swagger-hack.py -u https://example.com/swagger.json 脚本会自动发送请求,输出接口的可用性、参数信息及潜在的安全风险(如缺少认证的接口),帮助提前修复安全问题。以上方法覆盖了Linux环境下Swagger接口的手动测试、命令行测试、自动化测试及安全探测需求,可根据项目场景选择合适的方式。例如,开发阶段可使用Swagger UI快速调试,CI/CD流程可使用Newman或Dredd集成测试,安全检查可使用Swagger Hacker扫描漏洞。