Mock REST API 指南
创建免费的即时 REST API 端点,支持自定义响应、状态码和高级功能。无需注册。
快速开始
创建一个 Mock REST API 端点只需不到 30 秒。按照以下简单步骤操作:
- 1
访问首页
前往 mockapi.dog 并选择 "REST API" 标签。
- 2
设置路径和 HTTP 方法
在生成的 URL 后输入资源路径(例如 /api/users),然后选择 GET、POST、PUT、PATCH 或 DELETE。
- 3
编写 JSON 响应
选择状态码,并输入端点应返回的 JSON。编辑器会在你输入时实时验证 JSON。
{ "id": 1, "name": "John Doe", "email": "john@example.com" } - 4
配置延迟和错误模拟设置(可选)
添加响应延迟、随机错误率,或由请求头触发的错误。
- 5
保存端点
点击“保存 Mock 端点”。人机验证在后台运行,只有需要你勾选时才会出现复选框。你的端点 URL 会自动复制!
https://abc123.mockapi.dog/api/users
你的端点立即上线!
无需部署,无需等待。立即从你的应用、测试或 Postman、curl 等工具发起请求。
核心功能
HTTP 方法
支持所有标准 HTTP 方法,匹配你的 API 设计。
GET- 获取数据POST- 创建资源PUT- 完整更新PATCH- 部分更新DELETE- 删除资源
状态码
返回任何 HTTP 状态码以测试成功、错误和边界情况。
- 200OK - 成功
- 201已创建
- 400错误请求
- 401未授权
- 500服务器错误
JSON 响应
返回任何有效的 JSON 结构 —— 从简单对象到复杂的嵌套数据。
- 对象和数组
- 嵌套结构
- 对象数组
- 实时验证
- 正确的 Content-Type
高级功能
通过强大的功能微调你的 Mock 端点,实现真实的测试场景。
响应延迟
在发送响应前添加最长 10,000ms 的固定延迟,模拟慢速网络或服务器处理时间。
使用场景:
- 测试 UI 中的加载状态
- 模拟慢速 3G/4G 网络
- 验证超时处理
- 检查骨架屏
示例延迟:
错误模拟
设置一定百分比的请求返回错误。非常适合测试错误处理和重试逻辑。
使用场景:
- 测试错误边界
- 验证重试机制
- 检查错误消息
- 验证降级 UI
错误率示例:
错误响应体:
{
"error": "Simulated error (10% error rate)",
"triggeredBy": "random-error-rate"
}条件错误
仅当请求携带的请求头与你设置的值完全一致时才返回错误。需要错误时发送该请求头,否则不要发送。
示例使用场景:
- 身份验证失败:X-Test-Auth: expired 返回 401,用于测试登录跳转
- 未找到:X-Test-Error: missing 返回 404,用于测试空状态
- 服务中断:X-Test-Error: down 返回 503,用于测试降级 UI
当请求匹配该请求头时,优先返回请求头错误,而不使用随机错误率。
错误响应体:
{
"error": "Conditional error triggered by header X-Test-Error: down",
"triggeredBy": "conditional-header-match"
}TTL(生存时间)
端点归属于一个代码,即 URL 中 6 位字符的子域名。代码过期时,会连同其所有端点一起被删除。新代码 1 个月后过期。保存端点后,可通过 URL 旁的时钟按钮更改此设置。
可用选项:
非常适合临时测试或演示。无需手动清理。
Request Inspector
实时查看端点收到的请求。在已保存端点下方的 "Request Inspector" 面板中打开 "Logging" 开关。
- 该代码最近的 50 个请求,最新的在前
- 方法、路径、状态码和响应时间
- 请求头、查询参数和请求体(超过 10KB 的请求体会被截断)
- Authorization 和 Cookie 请求头显示为 [redacted]
日志记录默认关闭,并覆盖该代码下的所有端点。仅记录匹配已保存端点的请求,记录会在最近一次请求后保留 7 天。你可以随时暂停实时视图或清空列表。
导入与导出
一步把现有的 API 定义变成模拟端点,或下载你的模拟端点以便分享或与代码放在一起。导入和导出按钮位于“保存 Mock 端点”下方。
从 OpenAPI 或 Postman 导入
粘贴或上传文件,预览其中的端点,取消勾选不需要的,然后把其余端点一次性导入当前代码。
支持的格式:
文件如何变成模拟端点:
- 每个操作变成一个方法和路径相同的端点。
- 响应取 200 响应,其次 201,再次其他 2xx。优先使用其示例,否则根据 schema 生成。
- 模拟端点按精确路径匹配,因此路径参数会填入示例值:/users/{id} 变成 /users/42;文件中没有示例时变成 /users/1。
- /v1 这样的基础路径会被去掉。请改为把客户端的基础 URL 指向你的模拟 URL。
- Postman 请求使用其第一个已保存的 2xx 示例响应;没有示例时返回 {}。
- HEAD、OPTIONS 和 TRACE 操作会被跳过。
每个文件最多 100 个端点、2 MB。方法和路径已存在的端点会被跳过,除非你打开“替换方法和路径相同的现有模拟端点”。
导出为 OpenAPI 或 Postman
代码中有已保存的端点后,“导出”会把它们全部下载为一个指向你的模拟 URL 的文件。
- OpenAPI 3:每个端点及其示例响应。延迟、错误模拟和 LLM 设置保存在 x-mockapi-dog 扩展中,再次导入该文件即可恢复。
- Postman 集合 v2.1:每个端点一个请求,其响应保存为示例,并有一个设置为你的模拟 URL 的 {{baseUrl}} 变量。不包含端点设置。
导出的 OpenAPI 文件中的设置:
"/users/1": {
"get": {
"responses": { "200": { ... } },
"x-mockapi-dog": {
"delayMs": 500,
"errorRate": 10,
"errorStatusCode": 503
}
}
}通过命令行导出:
curl -o mocks.json \
"https://api.mockapi.dog/api/mocks/export?code=abc123&format=openapi"使用 format=postman 导出 Postman 集合。
常见任务
创建端点
- 打开 mockapi.dog 并选择 "REST API (JSON)" 标签
- 在 URL 中添加路径并选择 HTTP 方法
- 输入你的 JSON 响应
- 配置可选设置
- 点击“保存 Mock 端点”(如果出现验证复选框,请勾选)
✓ 你的端点已上线!
编辑端点
- 在 "已保存的端点" 列表中找到你的端点
- 点击铅笔图标的 "编辑" 按钮
- 修改方法、响应、状态码或设置(编辑期间 URL 不可更改)
- 点击 "更新端点"
✓ 更改立即生效
删除端点
- 找到你想要删除的端点
- 点击垃圾桶图标的 "删除" 按钮
- 端点会立即删除,不会弹出确认提示
此操作无法撤销
测试端点
使用 curl:
curl https://abc123.mockapi.dog/api/users使用 JavaScript:
fetch('https://abc123.mockapi.dog/api/users')故障排除
端点返回 404 未找到
Solution: 检查 URL、HTTP 方法和路径:三者都必须与保存的一致。路径按精确匹配,因此 /users/1 和 /users/2 是不同的端点。如果都一致,代码可能已过期,并连同其端点一起被删除。
创建端点时出现无效 JSON 错误
Solution: 使用内置编辑器验证你的 JSON。常见问题:缺少逗号、键未加引号、尾随逗号或未转义的引号。
浏览器中的 CORS 错误
Solution: 所有端点都自动包含 CORS 请求头。如果仍然出现错误,请检查你使用的 URL 和 HTTP 方法是否正确。
端点速度太慢
Solution: 检查你是否在高级设置中添加了响应延迟。如果不需要,请移除或减少延迟值。
请求返回 429 请求过多
Solution: 每个端点都有每日调用上限。达到上限后,调用会返回 429,响应体中包含上限值和 resetAt 时间(服务器时间午夜)。此外,每个 IP 地址在整个服务中每分钟最多可发送 100 个请求。
Request Inspector 中没有请求
Solution: 日志记录默认关闭。在 "Request Inspector" 中打开 "Logging" 开关,然后再次调用端点。发往没有已保存端点的路径的请求不会被记录。
导入不接受我的文件
Solution: 导入支持 JSON 或 YAML 格式的 OpenAPI 3.x、Swagger 2.0 和 Postman v2 集合。超过 2 MB 或多于 100 个端点的文件会被拒绝,请先拆分。不会跟随对其他文件的引用,请把规范打包成单个文件。
提示和最佳实践
使用真实数据
包含与真实 API 匹配的真实字段名、数据类型和结构。这使测试更有价值。
测试边界情况
为空数组、null 值和错误场景创建端点。这有助于尽早捕获 Bug。
让模拟端点与代码放在一起
把端点导出为 OpenAPI 或 Postman 集合并提交到仓库。需要同样的模拟端点时,把它导入一个新代码即可。
战略性使用延迟
添加少量延迟以测试加载状态。使用较长延迟以验证超时处理。
为响应版本化
为不同的 API 版本创建多个端点。这有助于测试向后兼容性。
清理未使用的端点
定期删除你不再需要的端点。使用 TTL 自动过期临时端点。
即用型 Mock API 库
我们为常见用例提供预构建的 Mock API。点击任何类别即可探索可立即测试的端点 —— 无需设置。
用户 API
用户资料、角色、权限和账户管理
帖子 API
博客文章和文章,包含内容管理模式
待办事项 API
经典 CRUD 示例,包含状态、过滤和分页
认证 API
登录、登出、刷新令牌和用户注册
产品 API
电商产品,包含价格、库存和元数据
订单 API
订单管理,包含状态流和用户关联
购物车 API
购物车,包含商品管理和关系处理
支付 API
支付处理,包含异步操作和 Webhook
专业提示:浏览完整库
访问我们的 Mock API 库 以浏览所有预构建端点,包含实时示例、示例响应和一键测试。
术语表
REST API
Representational State Transfer API —— 一种使用标准 HTTP 方法构建 Web 服务的架构风格。
HTTP 方法
标准请求方法(GET、POST、PUT、PATCH、DELETE),表示对资源的预期操作。
状态码
服务器返回的三位数代码,表示请求的结果(200 OK、404 未找到、500 错误等)。
JSON
JavaScript Object Notation —— 一种轻量级数据格式,用于在客户端和服务器之间结构化和交换数据。
端点
可访问 API 的特定 URL。每个端点执行特定功能。
Mock API
返回预定义响应的模拟 API,用于无需真实后端的测试和开发。
CORS
Cross-Origin Resource Sharing —— 一种安全功能,控制哪些域可以从浏览器访问你的 API。
TTL
Time To Live —— 代码及其所有端点在被自动删除前存在的时长。
错误率
应返回错误的请求百分比。用于测试错误处理和重试逻辑。
响应延迟
在发送响应前添加的人工等待时间。模拟慢速网络或处理。
代码
Mock API 唯一的 6 位字符子域名(abc123.mockapi.dog 中的 abc123)。端点、过期时间和请求日志都归属于代码。
Request Inspector
实时记录代码下各端点收到的请求,包括请求头、查询参数和请求体。
OpenAPI
描述 REST API 的标准格式,前身是 Swagger。MockAPI Dog 可以从 OpenAPI 文件创建模拟端点,也可以把模拟端点导出为 OpenAPI。
Postman 集合
Postman 中保存的 API 请求文件,通常带有示例响应。MockAPI Dog 可以导入和导出集合。