模拟 REST API 端点
获取一个公开的 JSON 端点,以便在后端存在之前解除前端的阻塞。
模拟的 REST API 端点是一个没有自己的服务器在背后的公开 URL,它会返回您定义的 JSON。您只需描述一次方法、状态码和响应正文,该模拟就会对每次调用做出完全一致的响应。这是在真实的后端仍在编写时解除前端工作阻塞的最快方法:根据 2026 年 9 月 8 日的测量,来自欧洲客户端的 20 次运行的创建并调用模拟的中位数耗时为 0.73 秒。
该模拟应返回什么 JSON?
返回您的界面实际预期的响应,而不是简化的替代品。模拟的全部价值在于您可以针对它编写真正的解析代码,因此其结构必须与您和后端团队达成的契约相匹配。
- 保留封装。如果真实的 API 将结果包装为
{"data": [...], "total": 42},也请模拟这个包装。针对裸数组编写的代码会在真实端点到来的那天崩溃。 - 保留类型。在生产环境中是字符串的 id 在这里也必须是字符串。数字到字符串的静默漂移是模拟工作正常但真实调用失败的最常见原因。
- 包含那些棘手的字段。Null 值、空数组和可选键正是您的渲染代码容易出错的地方,因此在固定数据中至少各放入一个。
您如何模拟错误响应和 CORS?
一个永远只返回 200 的模拟仅测试了您一半的代码。将 response_status 设置为 404、422 或 500 并将第二个模拟指向它,这样您的错误分支就会像正确路径一样得到有意的测试。MDN 状态码参考 是选择最合适状态码的最快方式。
如果您是从浏览器而不是 curl 调用模拟,请将 cors_enabled 设置为 true。否则浏览器会在您的代码看到响应之前将其阻止,并且控制台错误很少指出真正的原因 — 请参阅 MDN 关于 CORS 的文档。对于值得标准化的错误正文,RFC 9457 问题详细信息 为您提供了一种业界已在解析的格式。
稍后您如何将模拟切换为真实的 API?
从第一天起就将基本 URL 放在配置中,切勿内联在组件中。现在将其指向模拟 URL,稍后指向真实主机,这样切换就只需更改一行代码,而不是在整个代码库中搜索。
此处的模拟默认保留 7 天,最多 30 天,这通常比您需要桥接的时间间隔要长。该过期机制是一项功能:悄悄存在比真实端点还久的模拟正是固定数据最终进入生产环境的原因。如果队友需要相同的固定数据,请分享创建命令而不是 URL,这样每个人都可以重新生成它。
通常会出什么错?
- 模拟您希望获得的响应。根据后端实际的契约设计固定数据,而不是根据方便渲染的格式。
- 忘记内容类型。如果没有
"content_type": "application/json",许多客户端会给您一个字符串,而您的解析器会在有效的 JSON 上失败。 - 仅测试正确的路径。如果没有测试见过 500 错误,那么您的错误处理就没有得到证实,这并不意味着它是正确的。
- 在合并的分支中留下模拟 URL。这是配置而非源代码问题,七天的过期机制可以防止其永久存在。
何时使用此功能
当后端尚未准备好时,前端开发就会停滞。建立一个返回您的 UI 预期的确切 JSON 的模拟,获取公开的 URL,现在就可以基于它进行开发 — 稍后再切换为真实的 API。
创建模拟
curl -X POST https://quickmock.dev/api/mocks \
-H 'Content-Type: application/json' \
-d '{
"method": "GET",
"response_status": 200,
"content_type": "application/json",
"response_body": "{\"users\":[{\"id\":1,\"name\":\"Ada\"}]}"
}'
调用它
curl https://quickmock.dev/m/<slug>
您将获得什么
{"users":[{"id":1,"name":"Ada"}]}
常见问题解答
- 我需要账户来创建模拟 REST API 端点吗?
- 不需要。没有注册、没有电子邮件也没有 API 密钥 — 您 POST 模拟定义,即可返回一个实时 URL。每个模拟都会返回一个一次性管理令牌,如果您以后想编辑或删除它,请保存好。
- 端点会保留多久?
- 默认保留 7 天,最多 30 天。这涵盖了“前端准备就绪”和“后端准备就绪”之间的通常间隔,并且过期机制可防止过时的固定数据泄露到生产环境中。
- 响应在每次调用之间可以改变吗?
- 可以。使用 faker 令牌为每次调用提供全新的正文,使用响应序列按顺序返回不同的状态,或使用延迟来模拟缓慢的端点。固定的正文只是最简单的情况。
构建您自己的模拟
创建模拟适用于此场景的现成模板: 模拟 OAuth2 令牌响应, 模拟一个 OpenID Connect 发现文档, 为 JWT 验证模拟一个 JWKS 端点
相关指南
最后更新: 2026-10-17