# API Mock Server / 请求模拟器

根据接口描述生成可运行的临时 Mock Server，使用 Redis 存储 1 小时并支持动态响应

> 标准页面: https://elysiatools.com/zh/tools/api-mock-server

- **分类:** Development

- **关键词:** api, mock, 请求模拟器, redis, 热重载, 测试

## 概述

适合前端联调和接口测试。可使用相同 mockId 重跑工具，实现热更新式覆盖。

## 输入项

- **Mock 定义 JSON** (textarea): { "name": "User Service Mock", "basePath": "/api", "endpoints": \[ { "method": "GET", "path": "/users/:id", "status": 200, "responseType": "json", "dynamicResponse": true, "responseBody": { "id": "{{params.id}}", "name": "Mock User", "requestedAt": "{{now}}" } }, { "method": "POST", "path": "/login", "status": 200, "responseType": "json", "responseBody": { "token": "mock-token", "username": "{{body.username}}" } } \] }
- **已有 Mock ID（可选）** (text): Reuse an existing ID to hot-update the mock server

## 适用场景

- 后端接口尚未开发完成，前端需要并行进行页面联调时。
- 需要对 API 进行边界条件测试，但不想修改真实数据库时。
- 在开发过程中需要快速验证接口逻辑，并希望实时调整响应内容时。

## 工作原理

- 在 Mock 定义 JSON 中配置接口路径、请求方法及响应体结构。
- 提交配置后，系统将生成一个唯一的 Mock ID 及对应的访问地址。
- 通过 HTTP 请求访问生成的地址，即可获取模拟的动态响应数据。
- 如需修改接口逻辑，只需使用相同的 Mock ID 重新提交配置即可实现热更新。

## 使用案例

- 前端开发人员在后端 API 就绪前，模拟用户数据接口进行页面渲染测试。
- 测试工程师通过模拟异常状态码（如 500 或 404），验证前端的错误处理逻辑。
- 快速构建原型演示，通过动态响应模拟真实的业务交互流程。

## 常见问题

### 生成的 Mock 服务有效期是多久？

生成的 Mock 服务基于 Redis 存储，有效期为 1 小时。

### 如何实现接口的热更新？

在工具中输入已有的 Mock ID 并重新提交新的 JSON 配置，即可覆盖旧的接口定义。

### 支持动态响应吗？

支持，您可以在响应体中使用 {{params.id}}、{{query.trace}} 或 {{now}} 等占位符获取请求参数或当前时间。

### 该工具支持哪些请求方法？

支持标准的 HTTP 请求方法，如 GET、POST 等，具体取决于您在 JSON 中定义的 endpoints。

### Mock 服务可以被外部访问吗？

生成的 Mock URL 是公开可访问的，请确保不要在模拟数据中包含敏感的生产环境信息。

## 相关工具

- [API 请求代码片段生成器](https://elysiatools.com/zh/tools/api-request-code-snippet-generator): 根据请求链接、方法、请求头、Query 参数和请求体生成 cURL 及常见开发语言的代码片段
- [OpenAPI 转 Postman Collection](https://elysiatools.com/zh/tools/openapi-to-postman-collection): 把 OpenAPI 3.x 或 Swagger 2.0 规范（JSON/YAML）转成可直接导入的 Postman Collection v2.1.0，含文件夹、变量、认证与示例响应。
- [测试数据生成器](https://elysiatools.com/zh/tools/test-data-faker-builder): 通过字段配置批量生成结构化测试数据，支持 faker 字段、地址、信用卡、身份证、正则规则和导出
- [OpenAPI 转 TypeScript 类型生成器](https://elysiatools.com/zh/tools/openapi-to-typescript-generator): 将 OpenAPI 或 Swagger 的 JSON/YAML 规范转换为 TypeScript 接口类型、请求参数类型和响应类型，并支持输出格式与命名风格配置
- [CSV 转数据库迁移规划器](https://elysiatools.com/zh/tools/csv-to-database-migration-planner): 根据 CSV 数据推断关系型 schema，并为 PostgreSQL、MySQL、SQLite 或 SQL Server 生成建表和 ALTER 迁移计划
- [健身训练 PDF 生成器](https://elysiatools.com/zh/tools/fitness-workout-pdf-generator): 从 JSON 或 CSV 训练计划数据生成可打印 PDF，包含动作表格、进度格子和可选的视频二维码
- [JSON Schema 生成器](https://elysiatools.com/zh/tools/json-schema-generator): 从示例 JSON 自动推断 JSON Schema，支持手动调整并验证数据
- [PDF财务报表](https://elysiatools.com/zh/tools/pdf-financial-report): 生成资产负债表+利润表PDF，支持合并单元格

## 示例

- [Postman Collections - API 测试](https://elysiatools.com/zh/samples/postman-collections): 全面的 Postman collection 示例，包括 API 测试、自动化脚本、环境变量、mock 服务器和 REST API 的高级测试模式
- [WebRTC 实时通信示例](https://elysiatools.com/zh/samples/webrtc-samples): 全面的 WebRTC 示例，用于点对点音视频通信、数据通道、屏幕共享和信令服务器实现
- [macOS Objective-C 网络编程示例](https://elysiatools.com/zh/samples/macos-networking-objectivec): macOS Objective-C 网络编程示例，包括URLSession、HTTP请求、WebSocket和网络可达性
- [Windows 网络编程 - C++ 示例](https://elysiatools.com/zh/samples/windows-networking-cpp): Windows平台C++网络编程示例，包括HTTP请求、TCP套接字和HTTP服务器实现

## 相关内容

- [API Mock 夹具生成与审阅](https://elysiatools.com/zh/hubs/api-mock-fixture-generation-and-review): 生成可重复的 Mock 负载，构造符合格式的边界值，发现易混淆字段名，并在共享临时 Mock 服务前完成复核。
- [API 请求格式检查、重放准备与调试工具](https://elysiatools.com/zh/hubs/api-request-replay-and-debugging): 检查请求结构，准备本地重放，对比响应并定位 API 调试线索。工具只做本地分析或生成，不能代替真实鉴权和服务端测试。
- [API 契约定义、Schema 校验与变更测试](https://elysiatools.com/zh/hubs/api-contract-testing): 定义 API 契约，校验 Schema 和已捕获载荷，识别兼容性风险，并记录测试验收结果。
