Apifox 帮助文档
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档常见问题Apifox 官网私有化部署
更多
    1. 数据模型
    • 帮助中心
    • 更新日志
    • 入门
      • 产品介绍
      • 联系我们
      • 私有化部署
    • 开始使用
      • 下载 Apifox
      • 注册与登录
      • 页面布局
      • 基本概念
      • 快速上手
        • 概述
        • 新建接口
        • 发送接口请求
        • 快捷请求
        • 添加断言
        • 新建测试场景
        • 分享 API 文档
        • 了解更多
      • 基础知识
        • 接口基本信息
          • 请求 URL 与方法
          • 请求参数与请求体
          • 请求头
          • 请求参数编码解码
          • HTTP/2
        • 认证与授权
          • 概述
          • 支持的授权类型
          • Digest Auth
          • OAuth 1.0
          • OAuth 2.0
          • Hawk Authentication
          • Kerberos
          • NTLM
          • Akamai EdgeGrid
          • CA 和客户端证书
        • 响应与 Cookie
          • 概述
          • API 响应
          • 创建和发送 Cookie
          • 实际请求
          • 提取响应示例
        • 请求代理
          • 网页端中的请求代理
          • 分享文档中的请求代理
          • 客户端中的请求代理
        • API Hub
          • API Hub
      • 导入导出数据
        • 概述
        • 手动导入
        • 定时导入
        • 导入设置
        • 导出数据
        • 其它方式导入
          • 导入 OpenAPI/Swagger
          • 导入 Postman
          • 导入 Apipost
          • 导入 Eolink
          • 导入 cURL
          • 导入 Markdown
          • 导入 Insomnia
          • 导入 apiDoc
          • 导入 .har 文件
          • 导入 knife4j
          • 导入 NEI
          • 导入小幺鸡(docway)
          • 导入 Apizza
          • 导入 WSDL
    • 设计 API
      • 概述
      • 新建 API 项目
      • 接口基础知识
      • 接口设计规范
      • 模块
      • 请求体多示例配置
      • 响应组件
      • 常用字段
      • 全局参数
      • 历史记录
      • 接口评论
      • 批量管理
      • 通用接口文档
      • 数据模型
        • 概述
        • 新建数据模型
        • 构建数据模型
        • 通过 JSON 等生成
        • 高级数据类型
        • 数据模型进阶
          • 使用 oneOf / anyOf / allOf 构建组合模式
          • 使用 discriminator 实现多态数据结构
      • 鉴权组件
        • 概述
        • 创建鉴权组件
        • 使用鉴权组件
        • 在线文档中的鉴权组件
      • 高级功能
        • 接口字段
        • 接口状态
        • 关联测试场景
        • 参数列表外观
        • 接口唯一标识
    • 开发和调试 API
      • 概述
      • 生成请求
      • 发送请求
      • 请求历史
      • 接口调试用例
      • 接口测试用例
      • 动态值
      • 校验响应
      • 文档模式/调试模式
      • 生成代码
      • 环境和变量
        • 概述
        • 环境管理
        • 全局/环境/模块/临时变量
        • Vault Secrets(密钥库)
          • 功能简介
      • 前后置操作&脚本
        • 概述
        • 断言
        • 提取变量
        • 等待时间
        • 数据库操作
          • 概述
          • MySQL
          • MongoDB
          • Redis
          • Oracle
        • 使用脚本
          • 概述
          • 前置脚本
          • 后置脚本
          • 公共脚本
          • pm 脚本 API
          • 使用 JS 类库
          • 响应数据可视化
          • 调用外部程序
        • 脚本示例
          • 断言示例
          • 脚本使用变量
          • 脚本读取/修改接口请求信息
        • 常见问题
          • 如何获取动态参数的真实值并加密?
          • 脚本运行后,提取的数字(bigint)精度丢失应该如何处理?
      • API 调试
        • GraphQL 调试
        • WebSocket 调试
        • Socket.IO 调试
        • SSE 调试
        • SOAP/WebService
        • gRPC 调试
        • Webhook 调试
        • 使用请求代理调试
        • Dubbo 调试
          • 新建 Dubbo 接口
          • 调试 Dubbo 接口
          • Dubbo 接口文档
        • TCP(Socket)
          • Socket 接口功能简介
          • 报文数据处理器
    • Mock 数据
      • 概述
      • 智能 Mock
      • 自定义 Mock
      • Mock 优先级
      • Mock 脚本
      • 云端 Mock
      • 自托管 Runner Mock
    • 自动化测试
      • 概述
      • 编排测试场景
        • 新建测试场景
        • 测试步骤间传递数据
        • 测试流程控制条件
        • 从接口/用例同步数据
        • 跨项目导入接口/用例
        • 导出测试场景数据
      • 运行测试场景
        • 运行测试场景
        • 批量运行测试场景
        • 数据驱动测试
        • 定时任务
        • 管理其它项目接口的运行环境
      • 测试报告
        • 测试报告
      • API 测试
        • 性能测试
        • 集成测试
        • 端到端测试
        • 回归测试
      • Apifox CLI
        • 概述
        • 安装和运行 CLI
        • CLI 命令选项
      • CI/CD
        • 概述
        • 与 Jenkins 集成
        • 与 Gitlab 集成
        • 与 Github Actions 集成
        • 与其它更多 CI/CD 平台集成
        • Git 提交自动触发测试
    • 发布 API 文档
      • 概述
      • 快捷分享
      • 查看 API 文档
      • 发布文档站
      • 页面布局设置
      • 自定义页面代码
      • 自定义域名
      • AI 相关特性
      • SEO 设置
      • 高级设置
        • 文档站搜索设置
        • 跨域代理
        • 文档站接入 Google Analytics
        • 文档左侧目录设置
        • 文档可见性设置
        • 在线 URL 链接规范
      • API 版本
        • 功能简介
        • 创建 API 版本
        • 发布 API 版本
        • 快捷分享 API 版本
    • 迭代分支
      • 功能简介
      • 新建迭代分支
      • 在迭代分支中改动 API
      • 在迭代分支中测试 API
      • 合并迭代分支
      • 管理迭代分支
    • 管理中心
      • 基本概念
      • 团队入驻
      • 管理团队
        • 团队基本操作
        • 成员角色与权限设置
        • 团队成员管理
        • 团队资源
          • 通用 Runner
          • 请求代理 Agent
          • 团队变量
        • 实时协作
          • 团队协作
      • 管理项目
        • 项目基本操作
        • 项目成员管理
        • 通知设置
          • 功能简介
          • 通知对象
          • 通知事件
        • 项目资源
          • 数据库连接
          • Git 仓库连接
      • 管理组织
        • 组织基本操作
        • 单点登录(SSO)
          • 功能简介
          • 为组织配置单点登录
          • 管理用户账号
          • 将组映射到团队
          • Microsoft Entra ID
        • SCIM 用户管理
          • 功能简介
          • Microsoft Entra ID
        • 组织资源
          • 自托管 Runner
        • 订单管理
          • 组织付费经理
    • 离线空间
      • 功能简介
    • IDEA 插件
      • 快速上手
      • 生成接口文档
      • 生成数据模型
      • 配置
        • 全局配置
        • 项目内配置
        • 可配置规则
        • 脚本工具
        • Groovy 本地扩展
      • 进阶配置
        • 注释规范说明
        • 框架支持
      • 常见问题
        • 常见问题
    • 浏览器扩展
      • Chrome
      • Microsoft Edge
    • Apifox AI 功能
      • 总览
      • 启用 AI 功能
      • 生成测试用例
      • 修改数据模型
      • 接口规范性检测
      • 字段命名
      • 常见问题
    • Apifox MCP Server
      • 概述
      • 通过 MCP 使用 Apifox 项目内的 API 文档
      • 通过 MCP 使用公开发布的 API 文档
      • 通过 MCP 使用 OpenAPI/Swagger文档
    • 最佳实践
      • 概述
      • 接口之间如何传递数据
      • 登录态(Auth)如何处理
      • 接口签名如何处理
      • 如何加密/解密接口数据
      • Jenkins 定时触发任务
      • 如何计算 AI 问答成本
      • 与其他成员共用数据库连接配置
      • 通过 CLI 运行包含云端数据库连接配置的测试场景
      • 通过 Runner 运行包含云端数据库连接配置的测试场景
      • Apifox 测试步骤之间怎么传递数据?
    • 账号&应用设置
      • 账号设置
      • API 访问令牌
      • 通知
      • 语言设置
      • 快捷键
      • 网络代理
      • 数据备份与恢复
      • 更新 Apifox
      • 实验性功能
    • 身份验证 & Auth 鉴权指南
      • 什么是 API Key
      • 什么是 Bearer Token
      • 什么是 JWT
      • 什么是 Basic Auth
      • 什么是 Digest Auth
      • 什么是 OAuth 1.0
      • 什么是 OAuth 2.0
        • 什么是 OAuth 2.0
        • 授权码授权类型
        • 授权码授权类型,带有 PKCE
        • 隐式授权类型
        • 密码凭证授权类型
        • 客户端凭证授权类型
    • 服务与隐私协议
      • 服务协议
      • 隐私协议
      • 服务等级协议
    • 参考资料
      • API 设计优先理念
      • JSON Schema 介绍
      • JSONPath 介绍
      • XPath 介绍
      • Apifox Markdown 语法
      • CSV 格式规范
      • 正则表达式
      • 安装 Java 环境
      • Runner 运行环境
      • 常见编程语言对应的数据类型
      • Socket 粘包和分包问题
      • 词汇表
      • Apifox Swagger 扩展
        • 概述
        • x-apifox-folder
        • x-apifox-status
        • x-apifox-name
        • x-apifox-maintainer
      • Apifox JSON Schema 扩展
        • 概述
        • x-apifox-mock
        • x-apifox-orders
        • x-apifox-enum
      • 动态值表达式
    • 常见问题
    1. 数据模型

    构建数据模型

    编辑数据模型#

    Apifox 提供可视化的数据模型编辑组件,用于设计 API 中的 JSON 或 XML 数据结构,基于 JSON Schema 标准构建。
    image.png
    每个数据模型从一个根对象开始,你可以向其添加参数,逐步构建结构。
    构建步骤:
    1
    添加参数
    点击对象旁的 + 图标,添加子参数。
    image.png
    2
    命名参数
    输入参数名称(键名)。
    3
    选择类型
    选择数据类型,或引用已有的数据模型。
    4
    设置属性
    配置默认值、格式、是否必填等信息。
    5
    管理结构
    拖动排序、复制、删除字段,添加描述等。
    你还可以通过导入数据库表结构或 JSON 数据来创建模型:查看方法

    参数类型说明#

    Apifox 支持以下 JSON Schema 类型:
    null:null 值
    boolean:布尔值 (true / false)
    object:键值对对象
    array:数组
    number:数字类型
    string:字符串
    此外,还支持:
    引用数据模型:复用已定义的其他数据模型
    any:可为任意类型
    组合模式:支持 allOf、anyOf、oneOf 等组合方式
    自定义:手动编写 JSON Schema
    image.png

    引用数据模型#

    你可以在模型中嵌套引用其他数据模型,适用于公共结构复用。
    image.png
    引用模型后:
    原始模型更新后,引用模型也会同步更新
    引用字段不可直接编辑,如需修改,可:
    点击模型名跳转原始模型编辑
    点击「解除关联」转为独立字段,可自由编辑
    解除后,原始模型的修改将不再影响此字段
    你还可以通过「隐藏字段」禁用部分非必填参数。
    image.png

    数据模型组合#

    当一个字段可能有多种结构时,可使用组合模式:
    allOf:满足全部结构
    anyOf:满足其中任意一个
    oneOf:仅满足一个结构
    image.png
    组合后,名为“0”和“1”的子参数将显示在该参数下,可分别配置。
    API 文档中也会以对应格式展示组合结构。
    image.png

    自定义 JSON Schema#

    如需更灵活控制结构,可切换到「自定义」,手动编辑 JSON Schema:

    参数设置#

    每个参数旁会显示多个按钮:
    image.png
    *:是否为必填
    N:是否允许为 null
    设置:打开类型编辑器,配置更多参数属性

    可配置项#

    默认值
    示例值
    枚举值
    常量
    最小长度
    最大长度
    正则表达式约束
    XML 设置(如开启 XML 模式)
    其他...
    配置项将应用于:
    1.
    自动生成请求/响应示例
    2.
    API 文档展示结构
    3.
    请求体自动填充
    4.
    响应校验
    5.
    Mock 服务生成数据

    枚举设置#

    支持为 string / integer / number 类型添加枚举值,并设置每项描述,支持批量编辑:
    了解更多:
    数组如何配置枚举?
    如何定义公共的枚举?

    Mock 值#

    你可以为字段指定 Mock 值,用于生成 Mock 数据:
    可输入固定值
    可使用 Faker.js 表达式,支持下拉选择
    Mock 值优先于类型设置中的默认生成规则。
    image.png

    XML 设置#

    启用 XML 模式后,可设置标签名、命名空间、是否为属性等。
    image.png

    其他功能#

    从 JSON/XML/数据库生成:快速构建数据模型
    预览:展示基于数据模型的自动生成示例
    生成代码:可以生成多种编程语言中的数据结构定义代码,了解更多关于生成代码的信息
    JSON Schema 编辑器:支持直接查看和修改底层结构
    image.png

    常见问题#

    多个地方用到相同枚举,怎么保持一致?
    建议将该参数封装为单独的数据模型,在多个接口中引用,确保统一。
    上一页
    新建数据模型
    下一页
    通过 JSON 等生成
    Built with
    本篇目录
    编辑数据模型
    参数类型说明
    引用数据模型
    数据模型组合
    自定义 JSON Schema
    参数设置
    可配置项
    枚举设置
    Mock 值
    XML 设置
    其他功能
    常见问题