Swagger 转 Mock 服务
💡 技能简介
本技能旨在解决“前后端并行开发阶段,后端 API 尚未开发完毕,前端缺少测试数据”的问题。通过运行 mock_server.py,可直接解析 Swagger / OpenAPI 定义文件,自动生成并启动本地 Mock API 服务。
📋 能力边界与限制
- 协议规范:支持 Swagger 2.0 及 OpenAPI 3.0+ 规范(JSON / YAML 格式)。
- 响应类型:优先读取接口定义中的
example或examples字段;若无样例,则自动根据字段 Schema 类型生成默认 Mock 数据。 - 环境依赖:需 Python 3.8+ 环境,并安装依赖包
flask和pyyaml。
🚀 使用方法(触发方式)
-
安装依赖环境:
pip install flask pyyaml -
准备接口文档:
在当前目录下准备 Swagger API 文档(如swagger.json或openapi.yaml)。 -
启动 Mock 服务:
python mock_server.py --input swagger.json --port 8080
如果不带参数直接运行 python mock_server.py,脚本将默认寻找同目录下的 swagger.json,并在本机的 8080 端口启动服务。
❓ 常见问题解答 (FAQ)
Q1:为什么提示“地址已经被占用”?
这通常是因为默认的 8080 端口被其他程序占用,可以通过 --port 参数更换端口,例如:python mock_server.py --port 8081。
Q2:接口定义修改后需要重启服务吗?
是的,修改 Swagger 文档后重新运行脚本即可载入最新的 API 路由规则。
Q3:支持 PATH 路径参数(如 /users/{id})吗?
支持。脚本会自动将 Swagger 路径中的 {param} 格式转换为 Flask 内部路径匹配规则。