Apidog 提供强大的模拟自定义功能,让你能够对 API 响应进行精细控制。本文档介绍两种自定义模拟数据的方法:1.
字段级自定义:控制特定字段,同时对其他字段使用智能模拟
2.
完整响应自定义:使用期望定义完整的模拟响应(固定、条件或动态)
字段级自定义#
有时你需要为某些字段定义特定值,同时让 Apidog 自动生成其余部分。Apidog 提供了灵活的方法来进行字段级控制。设置自定义字段值#
1. 固定值#
在端点规范的模拟字段中指定一个静态值。Apidog 将始终为该字段返回这个精确值,同时对未指定的字段使用智能模拟。2. 使用 Faker.js 的动态值#
使用 Apidog 的动态值(基于 Faker.js)生成逼真的随机数据。使用以下语法:| 表达式 | 示例结果 |
|---|
{{$person.fullName}} | Rachel Wheeler |
{{$internet.email}} | Arno.Huels33@yahoo.com |
{{$commerce.productName}} | Elegant Plastic Bike |
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')}} | 指定范围内的日期 |
4. 连接多个表达式#
组合静态文本和多个动态表达式,以生成复杂的字段值。{{$location.streetAddress}}, {{$location.city}}, {{$location.state}}, {{$location.zipCode}}, {{$location.country}}
8507 Hudson Alley, Rochester, Wisconsin, 96512, United States
每个组件都是动态生成的,为每次模拟 API 调用创建唯一且逼真的地址。完整响应自定义(模拟期望)#
要完全控制模拟响应,请使用 模拟期望。此功能允许你定义固定、条件或动态响应。创建模拟期望#
固定响应#
条件响应#
根据请求参数返回不同的模拟数据。模拟引擎会从上到下评估条件,并返回第一个匹配的期望。| 参数类型 | 描述 |
|---|
| 查询参数 | URL 查询字符串 |
| 路径参数 | 动态 URL 段 |
| 头部参数 | HTTP 头部 |
| Cookie 参数 | Cookie 值 |
| 主体参数 | JSON 主体字段(通过 JSON path) |
如果没有条件匹配,Apidog 将回退到 项目设置 → 功能设置 → Mock 设置 中的 Mock 方法优先级
请求主体格式必须与 API 规范匹配(例如 form-data、JSON)
动态模拟数据#
{
"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)
| 语法 | 用途 |
|---|
{{$...}} | 调用 Faker.js 以生成随机值 |
{% for ... %} | Nunjucks 循环结构 |
{{i}} | Nunjucks 循环变量(不是 Apidog 变量) |
Apidog 使用 {{$person.firstName}},而不是原生 Faker.js 的 faker.person.firstName()
Apidog 项目/环境变量({{variable}})在模拟期望中不可用
高级功能#
自定义响应头部#
向模拟期望添加自定义头部,以模拟身份验证、分页或其他 API 行为。高级响应属性#
| 属性 | 用途 | 默认值 |
|---|
| HTTP 状态码 | 模拟错误或特殊情况 | 200 |
| 响应延迟 | 模拟网络延迟(毫秒) | 0 |
启用/禁用期望#
从期望列表中分别为本地和云端模拟环境开启或关闭期望。使用 Faker.js 和 Nunjucks 进行 动态数据生成
这些功能使你能够创建稳健、高保真的 API 模拟,准确复现生产行为! Modified at 2026-06-09 08:55:47