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
  • 🇨🇳 繁體中文
Learning Center
HomeSupport CenterAPI ReferencesDownloadChangelog
Learning Center
HomeSupport CenterAPI ReferencesDownloadChangelog
  1. 开发和调试 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. 开发和调试 API

动态值

在 Apidog 中调试端点时,你经常需要在请求参数、请求主体等位置构造一个值、姓名、地址或其他数据点。这时,动态值功能就非常有用。
动态值允许你在每次发送请求时,根据预定义规则生成一个新值。这有助于简化调试流程,并确保每个请求都包含唯一的数据。

快速开始#

1
在端点中,切换到 Run 标签页。
2
对于你想要动态化的参数,删除原始值,然后点击该值右侧的 魔法棒图标。在此示例中,我将选择 name 参数。
3
点击 Data generator,并选择你需要的动态值类型,例如 Person.firstName。
4
点击 Insert 将动态值插入到参数中。
5
点击 Send。你可以在 Actual request 中看到实际发送的姓名是 "Jennifer"。
6
再次发送请求,将会动态生成一个新的名字。

在 JSON 主体中使用动态值#

如果你需要提交 JSON 主体,并且 JSON 中的某些值需要动态生成,也可以使用动态值。
1
找到一个带有 JSON 主体的 POST 端点,并切换到 Run 标签页。
2
在 JSON 主体中,点击 Generate automatically -> Generate field names,你将获得规范中定义的属性名。
3
将光标放在正确的位置,点击 Insert dynamic value,并选择 Data Generator。
4
选择合适的数据类型,然后点击 Insert。
5
为所有字段添加值。
6
点击 Send。你可以在 Actual request 部分看到实际发送的 JSON 主体。
7
如果你再次发送请求,动态值将生成一个新的 JSON 主体。

在自定义表达式中使用动态值#

如果你需要自定义一段信息字符串,并且其中某些值需要动态生成,也可以点击 Custom expression 并输入动态值表达式。
1
点击动态表达式以打开输入框。
2
通过拼接等方式输入动态值表达式来生成期望内容。你可以在下方实时预览生成的信息。
3
点击 Insert。你可以在参数值部分看到自定义表达式。
以下是一些常见的自定义动态值示例。你也可以点击 Dynamic Values Modules 查看更多动态值方法。
期望的自定义内容自定义表达式示例返回值方法拼接及含义
带时间戳的随机用户名{{$internet.userName}}_{{$date.now}}"Kattie_Rice64_2024-09-04T05:51:42.413Z"使用 {{$internet.userName}} 生成随机用户名,使用 {{$date.now}} 获取当前时间,并使用模板字面量将它们拼接起来。
带公司域名的随机邮箱地址`{{person.lastName}}@{{$company.namelower}}.com`"Kole.Haag@schmidt-schoen.com"
带街道编号和公寓号的随机地址{{$location.buildingNumber}} {{$location.street}}, Apt. {{$number.int(min=1,max=1000)}}, {{$location.city}}, {{$location.state(abbreviated=true)}} {{$location.zipCode}}"723 Klein Inlet, Apt. 814, North Myron, DE 67605"使用多个方法生成详细地址,包括街道编号、街道名称、公寓号、城市、州和邮政编码。
带行业和公司类型的随机公司名称{{$company.buzzAdjective}} {{$company.buzzNoun}} {{$company.name}}"web-enabled architectures Fay Inc"使用 company 方法生成带有行业描述和公司类型的公司名称。
过去一年内的随机日期{{$date.past(years=1)}}"2023-10-24T09:25:24.109Z"使用 {{$date.past(years=1)}} 方法生成过去一年内的随机日期。
带货币符号的随机价格{{$finance.currencySymbol}}{{$commerce.price}}"KM12.89"使用 {{$finance.currencySymbol}} 生成随机货币符号,使用 {{$commerce.price}} 生成随机价格,并将它们拼接起来。
随机产品描述{{$commerce.productAdjective}} {{$commerce.productMaterial}} {{$commerce.product}} - {{$lorem.sentences(min=2,max=4)}}"Small Wooden Pizza - Thema copiose dens adinventitias a. Causa uxor terreo defleo vitiosus animi. Ademptio possimus decet considero absorbeo sursum rem circumvenio antiquus curatio. Adipisci addo tredecim carbo."使用 {{$commerce.productAdjective}} 和 {{$lorem.sentences(min=2,max=4)}} 方法生成包含产品特性和描述的文本。
带标签的随机句子#{{$lorem.slug(min=1,max=3)}} {{$lorem.sentence(min=1,max=3)}}"#provident-quidem-tempore Vita comprehendo id."使用 {{$lorem.slug(min=1,max=3)}} 生成随机标签,并将其拼接到句子前。
带端口号的随机 IP 地址{{$internet.ipv4}}::{{$number.int(min=1024,max=65535)}}"246.222.133.63::56332"使用 {{$internet.ipv4}} 生成随机 IP 地址,使用 {{$number.int(min=1024,max=65535)}} 生成端口号,并将它们拼接起来。
带查询参数的随机 URL{{$internet.url}}?{{$lorem.slug}}={{$lorem.word}}"https://nippy-bob.name/?nemo-provident-clementia=blandior"使用 {{$internet.url}}、{{$lorem.slug}} 和 {{$lorem.word}} 生成带查询参数的随机 URL。
随机文件路径/path/to/{{$lorem.slug}}/{{$system.fileName}}"/path/to/caritas-solio-vilicus/across.img"使用 {{$lorem.slug}}、{{$system.fileName}} 和字符串拼接生成随机文件路径。
随机数据库表名`table_{{$string.alphanumeric(length=5)lower}}`"table_brxlr"
随机 HTML 代码片段<p>{{$lorem.sentence}} <a href="{{$internet.url}}">{{$lorem.word}}</a></p><p>Calamitas velociter una succurro depopulo. <a href="https://feline-king.name/">comminor</a></p>使用 {{$lorem.sentence}} 和 {{$internet.url}} 生成包含链接的随机 HTML 代码片段。
随机 HTTP 请求头部{ "User-Agent": {{$internet.userAgent}}, "Referer": {{$internet.url}} }{ "User-Agent": Opera/13.25 (Macintosh; Intel Mac OS X 10.7.9 U; HE Presto/2.9.171 Version/12.00), "Referer": https://queasy-dusk.info/ }使用 {{$internet.userAgent}} 和 {{$internet.url}} 生成包含 User-Agent 和 Referer 的随机 HTTP 请求头部。

动态变量的使用场景#

动态变量在 API 测试中有广泛的应用。以下是一些典型示例:
模拟真实世界数据:你需要测试 API 如何处理不同类型的数据,例如各种格式的用户名、地址或邮箱地址。使用动态变量,你可以轻松生成大量类似真实场景的测试数据,从而提高测试覆盖率。
生成唯一值:在某些测试场景中,你需要确保数据唯一性,例如生成订单号、用户 ID 或交易 ID。动态变量可以基于时间戳或随机数生成唯一值,防止数据冲突并确保测试结果准确。
简化数据处理:无需为每次测试运行手动修改数据,使用动态变量即可自动生成所需数据。这能为你节省大量时间和精力,提升测试效率。

手动插入动态值#

在需要插入动态变量的输入字段中,你可以输入 {{$ 来触发动态变量列表。
你可以使用以下方法之一快速定位所需变量:
完整输入:准确输入完整的动态变量名称,例如 $timestamp。
模糊匹配:输入部分关键词,例如 time,系统会自动筛选并显示匹配的动态变量。
选择目标动态变量,将其插入到输入字段中。
TIP
此方法不支持直接向动态变量添加参数或函数。

数据生成器#

使用数据生成器,你可以根据需要生成任意自定义数据。
将鼠标悬停在参数输入字段上,并点击出现的魔法棒图标,以打开功能更强大的 Data Generator 面板。
你可以通过两种方法在面板中找到所需的动态变量:
按变量类型搜索:通过选择动态变量类型(例如 "Date"、"String"、"Number" 等)快速定位所需的变量范围,从而提高搜索效率。
按关键词搜索:在顶部的 "Type" 输入框中输入关键词,例如 "time,",系统会自动筛选并显示匹配的动态变量,方便你快速定位。
选择所需的动态变量后,你可以通过以下操作进一步优化它,以满足更细粒度的数据生成需求:
添加方法:某些动态变量支持附加方法,例如 {{$date.now}},它可以使用 addDays 方法增加天数,以生成特定日期的数据。
添加处理函数:所有动态变量结果都可以使用函数处理,例如使用 md5 函数加密字符串,并生成符合安全要求的测试数据。
Expression 区域会清晰显示你当前选择的动态变量、方法和函数,便于你检查和修改。
Preview 区域会实时显示由动态变量生成的示例数据。点击 Preview 区域末尾的 Refresh 按钮即可生成新的示例数据,方便你查看数据生成效果。
点击 Preview 区域中的示例数据可自动复制内容,便于你粘贴到需要的位置。

常量#

你可以使用 Constant 将一段静态文本包装在 Dynamic Value 语法中,以便之后添加处理函数。常见使用场景包括应用 MD5 哈希、Base64 编码 或 更改字母大小写。
使用常量时,输入原始值,并在语法中手动添加所需的处理函数。系统会在执行期间自动处理加密或转换。
如果该值是纯静态的且不需要任何处理,你可以直接以纯文本形式输入,而无需使用 Constant。

设置数据语言/国家#

Apidog 的动态变量支持生成不同语言的示例数据,以满足你在多语言环境中的测试需求。操作方法如下:
1.
打开 Data Generator 面板。
2.
对于日期和时间以外的动态变量类型,点击动态变量右上角的设置按钮,并选择目标语言。
3.
对于日期和时间动态变量类型,你可以使用 format 和 locale 方法指定语言和格式。

强大的日期操作与格式化#

Apidog 不仅提供丰富的日期和时间动态值,还致力于简化你的开发流程。以下是一些你可以轻松实现的功能:
灵活的时间调整:使用 add 方法,你可以轻松基于当前时间增加或减少时间单位。例如,{{$date.now|addHours(-3)}} 将返回比当前时间早 3 小时的日期。
多样化的日期格式化:使用 format 方法,你可以根据需要将日期格式化为不同格式。例如,{{$date.now|formatISO}} 将按照 ISO 8601 标准格式化日期。
精确的时区控制:通过设置 timezone 参数,你可以轻松控制日期的时区。例如,{{$date.now|format('yyyy-MM-dd HH:mm:ss',timezone='America/Port-au-Prince')}} 将返回 UTC+8:00 时区中当前时间对应的日期。

常用动态变量#

为了帮助你充分利用 Apidog Dynamic Values,我们整理了一份可用值的完整列表,并提供了清晰示例。你可以点击 Dynamic Values Modules 快速查找所需的值,并了解如何有效使用它们。
TIP
你也可以在 Apidog 应用内将鼠标悬停在 Dynamic Value 表达式上,以查看简要说明和示例。
Modified at 2026-06-09 08:55:47
Previous
测试用例
Next
验证响应
Built with