用 GitHub Copilot 结合 JSON Server 可从 OpenAPI/YAML/JSON 文档自动生成可运行的 mock 服务:先准备接口文档,安装并认证 Copilot CLI 和 JSON Server,再通过 Copilot 解析文档生成 db.json,启动服务验证路由,最后通过 copilot watch 实现文档更新时 mock 数据自动同步。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在前端开发中快速验证接口联调,但后端接口尚未就绪或不稳定,手动写 mock 数据费时且难维护——用 GitHub Copilot 结合 JSON Server,可直接从 OpenAPI/YAML/JSON 接口文档自动生成可运行的 mock 服务。
准备接口文档与本地环境
确保你已获取一份结构清晰的接口定义文件,常见格式为 openapi.json、swagger.yaml 或 postman_collection.json。若只有接口文档网页,先用浏览器插件(如 Swagger Parser)导出为 JSON/YAML。
安装 JSON Server 和 Copilot CLI:运行 npm install -g json-server 和 npm install -g @github/copilot-cli。Windows 用户需在 PowerShell 或 WSL 中执行,CMD 不被支持。
确认 Copilot CLI 已登录并认证:终端输入 copilot whoami,返回邮箱即表示可用。未登录则运行 copilot login 并按提示完成 OAuth 流程。
立即学习“前端免费学习笔记(深入)”;
用 Copilot CLI 解析接口文档生成 mock 数据结构
进入存放接口文档的目录,例如 cd ./api-specs。
方法一:单次生成(适合小规模接口)
执行:copilot -p "Parse openapi.json and output a JSON Server db.json with realistic mock data for all GET /users, POST /orders, and GET /products endpoints. Use faker.js-style values: names, emails, ids, timestamps. Output only valid JSON, no explanation."
方法二:流式迭代(推荐,可控性强)
运行 copilot 进入交互式会话 → 输入 /plan 切换到计划模式 → 发送:“基于 openapi.json 启动一个 JSON Server mock 服务,覆盖全部 paths 下的 GET 和 POST 路由,每条路由返回 3 条合理示例数据。” Copilot 会先列出拟生成的路由表和字段映射,确认无误后再执行生成。
【必须检查生成的 db.json 中 id 字段是否为字符串或数字类型一致】,否则 JSON Server 启动时报 500 错误。常见坑:User.id 是 number,但 Order.userId 是 string,导致关联查询失败。
启动 JSON Server 并验证路由
将 Copilot 输出的 JSON 内容保存为 db.json 文件,与 openapi.json 同级目录。
执行:json-server --watch db.json --port 3001 --routes routes.json。其中 routes.json 是可选的,仅当你需要重写默认路由(如把 /api/v1/users 映射到 /users)时才创建。
若未提供 routes.json,JSON Server 默认启用 RESTful 路由:GET /users、POST /users、GET /users/1 等全部自动就绪。
打开浏览器访问 http://localhost:3001/users,确认返回数组且含 name/email/id 字段;再用 curl 测试 POST:curl -X POST http://localhost:3001/orders -H "Content-Type: application/json" -d '{"product":"laptop","qty":2}',观察响应是否含自增 id 和时间戳。
让 mock 数据随接口文档实时更新
第一步:在项目根目录新建 .copilotrc 文件,内容为:
{"prompt": "Given {file}, regenerate db.json with updated mocks. Preserve existing id patterns and relationship logic from prior run.", "watch": ["openapi.json"]}
第二步:运行 copilot watch。该命令会监听 openapi.json 变更,一旦检测到保存动作,立即触发重新生成 db.json。
第三步:保持 json-server --watch db.json 在另一个终端运行。Copilot 生成新 db.json 后,JSON Server 自动热重载数据,无需重启服务。
注意:若 openapi.json 中新增了 /v2/reports 路由,但 .copilotrc 里没声明依赖该字段,Copilot 可能忽略它。此时需手动在 prompt 中追加“特别处理所有 v2 开头的路径”。

















