Apidog Docs
🇨🇳 简体中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇨🇳 简体中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇨🇳 简体中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. Mock API 数据
  • Apidog 学习中心
  • 入门
    • Apidog 简介
    • Apidog 中的基本概念
    • 导航 Apidog
    • 快速开始
      • 概述
      • 创建端点
      • 发送请求
      • 添加断言
      • 创建测试场景
      • 共享 API 文档
      • 探索更多
    • 迁移到 Apidog
      • 概述
      • 手动导入
      • 定时导入(绑定数据源)
      • 导入选项
      • 导出数据
      • 导入自
        • 从 Postman 导入
        • 导入 OpenAPI 规范
        • 导入 cURL
        • 导入 Markdown
        • 从 Insomnia 导入
        • 从 apiDoc 导入
        • 导入 .har 文件
        • 导入 WSDL
  • Mock API 数据
    • 概述
    • Smart Mock
    • 自定义模拟
    • 模拟优先级顺序
    • 模拟脚本
    • 云端模拟
    • 自托管 Runner 模拟
    • 模拟语言(区域设置)
  • 账号与偏好设置
    • 账户设置
    • 生成 OpenAPI 访问令牌
    • 通知
    • 语言设置
    • 快捷键
    • 网络代理配置
    • 备份数据
    • 更新 Apidog
    • 删除账户
    • 实验性功能
  • 发送请求
    • 概述
    • SSE 调试
    • MCP 客户端
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP 或 WebService
    • GraphQL
    • gRPC
    • 使用请求代理 Agent 进行调试
    • 创建请求
      • 请求历史
      • 请求基础
      • 参数和主体
      • 请求头部
      • 请求设置
      • 调试请求
      • 将请求保存为端点
      • HTTP/2
    • 身份验证与授权
      • 概述
      • CA 和客户端证书
      • 授权类型
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk 身份验证
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • 响应和 Cookie
      • 查看 API 响应
      • 管理 Cookie
      • 概述
  • 开发和调试 API
    • 概述
    • 生成请求
    • 发送请求
    • 调试用例
    • 测试用例
    • 动态值
    • 验证响应
    • Design-First vs Request-First
    • 生成代码
    • 环境与变量
      • 概览
      • 使用变量
      • 环境管理
    • Vault 密钥
      • 概述
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • 动态值模块
      • Airline
      • 动物
      • 颜色
      • 商务
      • Company
      • 数据库
      • 数据类型
      • 日期
      • Finance
      • 食物
      • Git
      • Hacker
      • Helpers
      • 图像
      • Internet
      • 位置
      • Lorem
      • 音乐
      • 数字
      • Person
      • 电话
      • 科学
      • String
      • System
      • Vehicle
      • Word
    • 前置和后置处理器
      • 概述
      • 断言
      • 提取变量
      • 等待
      • 安全
      • 数据库操作
        • 概述
        • MySQL
        • MongoDB
        • Redis
        • Oracle 客户端
      • 使用脚本
        • 概述
        • 预处理器脚本
        • 后处理器脚本
        • 公共脚本
        • Postman 脚本参考
        • 调用其他编程语言
        • 使用 JS 库
        • 可视化响应
        • 脚本示例
          • 断言脚本
          • 使用变量
          • 修改请求
          • 其他示例
    • API 调试
      • AI Agent Debugger
      • A2A 调试器
  • 设计 API
    • 概述
    • 创建新的 API 项目
    • 端点基础
    • API 设计指南
    • 模块
    • 配置多个请求主体示例
    • 组件
    • 通用字段
    • 全局参数
    • 端点变更历史
    • 评论
    • 批量端点管理
    • 自定义协议 API
    • Spec-first 模式(Beta)
    • 安全方案
      • 概述
      • 创建安全方案
      • 使用安全方案
      • 在线文档中的安全方案
    • 高级功能
      • 自定义端点字段
      • 关联的测试场景
      • 端点状态
      • 参数列表的外观
      • 端点唯一标识
    • Schemas
      • 概述
      • 创建新 Schema
      • 构建 Schema
      • 从 JSON 等生成 Schema
      • oneOf, allOf, anyOf
      • 使用 Discriminator
  • Apidog Europe
    • Apidog Europe
  • API 测试
    • 概述
    • 测试场景
      • 创建测试场景
      • 在请求之间传递数据
      • 流程控制条件
      • 从端点和端点用例同步数据
      • 从其他项目导入端点和端点用例
      • 导出测试场景
    • 测试报告
      • 测试报告
    • 运行测试场景
      • 运行测试场景
      • 批量运行测试场景
      • 数据驱动测试
      • 共享测试数据
      • 定时任务
      • 管理来自其他项目的 API 运行环境
    • 测试套件
      • 概述
      • 创建测试套件
      • 编排测试套件
      • 本地运行测试套件
      • 通过 CLI 运行测试套件
      • 定时任务
    • 测试 API
      • 集成测试
      • 性能测试
      • 端到端测试
      • 回归测试
      • 契约测试
    • Apidog CLI
      • 概述
      • 安装和运行 Apidog CLI
      • Apidog CLI 选项
    • CI/CD
      • 概述
      • 与 Github Actions 集成
      • 与 Gitlab 集成
      • 与 Jenkins 集成
      • 通过 Git Commit 触发测试
  • 发布 API 文档
    • 概述
    • 支持的 API 技术
    • 快速分享
    • 查看 API 文档
    • Markdown 文档
    • 发布文档站点
    • 自定义登录页面
    • 自定义布局
    • 自定义 CSS、JavaScript、HTML
    • 自定义域名
    • AI 功能
    • SEO 设置
    • 高级设置
      • 文档搜索
      • CORS 代理
      • 集成 Google Analytics
      • 文件夹树设置
      • 可见性设置
      • 在文档 URL 中嵌入值
    • API 版本
      • 概述
      • 创建 API 版本
      • 发布 API 版本
      • 共享带有 API 版本的端点
  • 分支
    • 概述
    • 创建 Sprint 分支
    • 在分支中测试 API
    • 在分支中设计 API
    • 合并 Sprint 分支
    • 管理 Sprint 分支
    • AI Branch(Beta)
  • AI 功能
    • 概述
    • 启用 AI 功能
    • 生成测试用例
    • 使用 AI 修改 Schema
    • 端点合规性检查
    • API 文档完整性检查
    • AI 驱动的字段命名
    • 常见问题
  • Apidog MCP 服务器
    • 概述
    • 将 Apidog 项目连接到 AI
    • 将已发布的文档连接到 AI
    • 将 OpenAPI 文件连接到 AI
  • 最佳实践
    • 处理 API 签名
    • 访问受 OAuth 2.0 保护的 API
    • 协作工作流
    • 管理身份验证状态
  • 离线空间
    • 概述
  • 管理
    • 管理项目
      • 管理项目
      • 通知设置
      • 管理项目成员
      • 项目资源
        • 数据库连接
        • Git 连接
    • 管理团队
      • 管理团队
      • 管理团队成员
      • 团队活动
      • 团队角色与权限
      • 团队资源
        • General Runner
        • 团队变量
        • 请求代理 Agent
      • 实时协作
        • 团队协作
    • 入门检查清单
      • 基本概念
      • 入门指南
    • 管理组织
      • 管理组织
      • 组织角色与权限
      • 套餐管理
        • 组织中的账单管理员
      • 单点登录 (SSO)
        • SSO 概述
        • 配置 Microsoft Entra ID
        • 配置 Okta
        • 为组织配置 SSO
        • 管理用户账户
        • 将组映射到团队
      • SCIM 配置
        • SCIM 预配简介
        • Microsoft Entra ID
        • Okta
      • 组织资源
        • 自托管 Runner
  • 计费
    • 概述
    • 积分
    • 升级您的套餐
    • 替代支付方式
    • 管理订阅
    • 将付费团队移入组织
  • 附加组件
    • API Hub
    • Apidog Intellij IDEA 插件
    • 浏览器扩展
      • Chrome
      • Microsoft Edge
    • 请求代理
      • Web 中的请求代理
      • 共享文档中的请求代理
      • 客户端中的请求代理
  • 数据与安全
    • 数据存储和安全
    • 用户数据隐私与安全
    • 请求路由与数据安全
  • 参考
    • API 设计优先方法
    • Apidog OpenAPI 规范扩展
    • JSONPath
    • XPath
    • 正则表达式
    • JSON Schema
    • CSV 文件格式
    • 安装 Java 环境
    • Runner 部署环境
    • Apidog Markdown 语法
    • Apidog Swagger 扩展
      • 概述
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Apidog JSON Schema 扩展
      • 概述
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • 支持中心
  1. Mock API 数据

自定义模拟

Apidog 提供强大的模拟自定义功能,让你能够对 API 响应进行精细控制。本文档介绍两种自定义模拟数据的方法:
1.
字段级自定义:控制特定字段,同时对其他字段使用智能模拟
2.
完整响应自定义:使用期望定义完整的模拟响应(固定、条件或动态)

字段级自定义#

有时你需要为某些字段定义特定值,同时让 Apidog 自动生成其余部分。Apidog 提供了灵活的方法来进行字段级控制。

设置自定义字段值#

1. 固定值#

在端点规范的模拟字段中指定一个静态值。Apidog 将始终为该字段返回这个精确值,同时对未指定的字段使用智能模拟。
示例:
image.png

2. 使用 Faker.js 的动态值#

使用 Apidog 的动态值(基于 Faker.js)生成逼真的随机数据。使用以下语法:
{{$category.method}}
常见示例:
表达式示例结果
{{$person.fullName}}Rachel Wheeler
{{$internet.email}}Arno.Huels33@yahoo.com
{{$commerce.productName}}Elegant Plastic Bike
直接从下拉菜单中选择动态值:
image.png

3. 参数化 Faker 方法#

使用 Apidog 增强的 Faker.js 语法向动态值方法传递参数,以生成专用数据。
示例:
使用场景表达式描述
整数范围{{$number.int(min=0,max=10000)}}0 到 10,000 之间的随机整数
可读电话{{$phone.number(style='human')}}人类可读的电话格式
N 的倍数{{$number.int(multipleOf=3)}}可被 3 整除的整数
数组元素{{$helpers.arrayElement(['red','blue','green'])}}从数组中随机选择颜色
日期范围{{$date.between(from='2024-01-01',to='2024-12-31',format='yyyy-MM-dd')}}指定范围内的日期
在 Dynamic Values Modules documentation 中探索完整的模块、方法和参数列表。

4. 连接多个表达式#

组合静态文本和多个动态表达式,以生成复杂的字段值。
示例:完整地址生成
{{$location.streetAddress}}, {{$location.city}}, {{$location.state}}, {{$location.zipCode}}, {{$location.country}}
示例输出:
8507 Hudson Alley, Rochester, Wisconsin, 96512, United States
每个组件都是动态生成的,为每次模拟 API 调用创建唯一且逼真的地址。
模拟区域设置
Apidog 支持可自定义的模拟区域设置,允许你生成符合目标地区或受众的不同语言和格式的动态测试数据。要了解有关配置模拟区域设置的更多信息,请访问 Mock language (Locales)。

完整响应自定义(模拟期望)#

要完全控制模拟响应,请使用 模拟期望。此功能允许你定义固定、条件或动态响应。

创建模拟期望#

image.png

固定响应#

通过创建无条件期望,为每个请求返回相同的数据。
步骤:
1
点击 新建期望
2
添加期望名称,并将条件留空
3
填写你想返回的响应数据,然后保存
4
复制并使用提供的模拟 URL 来访问此端点

条件响应#

根据请求参数返回不同的模拟数据。模拟引擎会从上到下评估条件,并返回第一个匹配的期望。
支持的条件类型:
参数类型描述
查询参数URL 查询字符串
路径参数动态 URL 段
头部参数HTTP 头部
Cookie 参数Cookie 值
主体参数JSON 主体字段(通过 JSON path)
条件行为
多个条件使用 AND 逻辑组合(全部都必须匹配)
如果没有条件匹配,Apidog 将回退到 项目设置 → 功能设置 → Mock 设置 中的 Mock 方法优先级
限制
主体参数仅支持 JSON,不支持 XML
参数条件不能使用 {{variables}}
请求主体格式必须与 API 规范匹配(例如 form-data、JSON)
IP 地址条件可以将响应限制为特定 IP

动态模拟数据#

模拟期望支持使用 Faker.js 和 Nunjucks 模板语法生成动态、随机的数据。
示例:
{
    "data": [
        {% for i in range(0, 20) %}
        {% if i>1 %},{% endif %}
        {
            "id": {{i}},
            "firstname": "{{$person.firstName}}",
            "lastname": "{{$person.lastName}}"
        }
        {% endfor %}
    ],
    "success": true
}
这将生成:
包含 20 个用户对象的数组(id 从 0 到 19)
每个对象都有随机生成的名字和姓氏
一个固定的 "success": true 字段
语法说明:
语法用途
{{$...}}调用 Faker.js 以生成随机值
{% for ... %}Nunjucks 循环结构
{{i}}Nunjucks 循环变量(不是 Apidog 变量)
重要差异
Apidog 使用 {{$person.firstName}},而不是原生 Faker.js 的 faker.person.firstName()
Apidog 项目/环境变量({{variable}})在模拟期望中不可用
请查阅 Faker.js 和 Nunjucks 文档以了解完整语法

高级功能#

自定义响应头部#

向模拟期望添加自定义头部,以模拟身份验证、分页或其他 API 行为。

高级响应属性#

在 更多 选项卡中配置其他响应属性:
属性用途默认值
HTTP 状态码模拟错误或特殊情况200
响应延迟模拟网络延迟(毫秒)0

启用/禁用期望#

从期望列表中分别为本地和云端模拟环境开启或关闭期望。

总结#

Apidog 的自定义模拟功能提供:
灵活的字段自定义,支持固定值或动态值
通过模拟期望实现 完整响应控制
用于基于参数返回响应的 条件逻辑
使用 Faker.js 和 Nunjucks 进行 动态数据生成
通过自定义头部、延迟和状态码实现 高级模拟
这些功能使你能够创建稳健、高保真的 API 模拟,准确复现生产行为!
Modified at 2026-06-09 08:55:47
Previous
Smart Mock
Next
模拟优先级顺序
Built with