Apifox 帮助文档
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
  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 等生成
      • 高级数据类型
      • 构建数据模型
    • 鉴权组件
      • 概述
      • 创建鉴权组件
      • 使用鉴权组件
      • 在线文档中的鉴权组件
    • 高级功能
      • 接口字段
      • 接口状态
      • 关联测试场景
      • 参数列表外观
      • 接口唯一标识
  • 开发和调试 API
    • 概述
    • 生成请求
    • 发送请求
    • 请求历史
    • 接口用例
    • 动态值
    • 校验响应
    • 文档模式/调试模式
    • 生成代码
    • 环境和变量
      • 概述
      • 全局/环境/临时变量
      • 环境与服务
      • Vault Secrets(密钥库)
        • 功能简介
    • 前后置操作&脚本
      • 概述
      • 断言
      • 提取变量
      • 等待时间
      • 数据库操作
        • 概述
        • MongoDB
        • Redis
        • Oracle
      • 使用脚本
        • 概述
        • 前置脚本
        • 后置脚本
        • 公共脚本
        • pm 脚本 API
        • 使用 JS 类库
        • 响应数据可视化
        • 调用外部程序
      • 脚本示例
        • 断言示例
        • 脚本使用变量
        • 脚本读取/修改接口请求信息
      • 常见问题
        • 如何获取动态参数的真实值并加密?
        • 脚本运行后,提取的数字(bigint)精度丢失应该如何处理?
    • API 调试
      • GraphQL 调试
      • WebSocket 调试
      • Socket.IO 调试
      • SSE 调试
      • SOAP/WebService
      • gRPC 调试
      • 使用请求代理调试
      • 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 平台集成
  • 发布 API 文档
    • 概述
    • 快捷分享
    • 查看 API 文档
    • 发布文档站
    • 页面布局设置
    • 自定义域名
    • AI 相关特性
    • 高级设置
      • 文档站搜索设置
      • 跨域代理
      • 文档站接入 Google Analytics
      • SEO 设置
      • 文档左侧目录设置
      • 文档可见性设置
      • 在线 URL 链接规范
    • API 版本
      • 创建 API 版本
      • 发布 API 版本
      • 快捷分享 API 版本
      • 功能简介
  • 迭代分支
    • 功能简介
    • 新建迭代分支
    • 在迭代分支中改动 API
    • 在迭代分支中测试 API
    • 合并迭代分支
    • 管理迭代分支
  • 管理中心
    • 入驻清单
      • 了解基本概念
      • 团队入驻
    • 管理团队
      • 团队基本操作
      • 团队成员管理
      • 成员角色与权限设置
      • 团队资源
        • 通用 Runner
        • 请求代理 Agent
        • 团队变量
      • 实时协作
        • 团队协作
    • 管理项目
      • 项目基本操作
      • 项目成员管理
      • 通知设置
        • 功能简介
        • 通知对象
        • 通知事件
      • 项目资源
        • 数据库连接
    • 管理组织
      • 单点登录(SSO)
        • 功能简介
        • 为组织配置单点登录
        • 管理用户账号
        • 将组映射到团队
        • Microsoft Entra ID
      • SCIM 用户管理
        • 功能简介
        • Microsoft Entra ID
      • 组织资源
        • 自托管 Runner
  • IDEA 插件
    • 快速上手
    • 生成接口文档
    • 生成数据模型
    • 配置
      • 全局配置
      • 项目内配置
      • 可配置规则
      • 脚本工具
      • Groovy 本地扩展
    • 进阶配置
      • 注释规范说明
      • 框架支持
    • 常见问题
      • 常见问题
  • 浏览器扩展
    • Chrome
    • Microsoft Edge
  • Apifox MCP Server
    • 概述
    • 通过 MCP 使用 Apifox 项目内的 API 文档
    • 通过 MCP 使用公开发布的 API 文档
    • 通过 MCP 使用 OpenAPI/Swagger文档
  • 最佳实践
    • 概述
    • 接口之间如何传递数据
    • 登录态(Auth)如何处理
    • 接口签名如何处理
    • 如何加密/解密接口数据
    • Jenkins 定时触发任务
    • 如何计算 AI 问答成本
    • 与其他成员共用数据库连接配置
    • 通过 CLI 运行包含云端数据库连接配置的测试场景
    • 通过 Runner 运行包含云端数据库连接配置的测试场景
  • 账号&应用设置
    • 账号设置
    • 语言设置
    • 网络代理
    • 快捷键
    • 数据备份与恢复
    • 更新 Apifox
    • API 访问令牌
  • 身份验证 & 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. 迭代分支

在迭代分支中改动 API

在一个新建的迭代分支中,默认是没有任何内容的。这样是为了让研发者更聚焦于本次迭代实际需要改动的内容。目前有两种方式向一个新的迭代分支中添加资源并进行更改:
手动更改: 可以在 Apifox 中手动导入、新建资源,然后进行更改。此方法适合于研发模式为 API-First 的团队,也是 Apifox 非常推荐的研发模式与实践。
OAS 导入: 可以直接将 OAS (OpenAPI Specification,即 OpenAPI 规范,又称 Swagger 定义) 导入至某个迭代分支中,导入时会自动比对 OAS 中的内容与主分支接口中的内容,从而生成关联资源 / 新建资源。可以多次导入同一个迭代分支从而实现通过 OAS 导入更改迭代分支接口内容。此方法适合于研发模式为 Code-First 的团队。
可根据你的实际场景与需求进行选择。在某个分支中的操作仅影响当前分支中的数据,与主分支、其它分支互不影响。

手动更改#

在 Apifox 中手动对迭代分支内容进行更改。我们非常推荐通过手动导入、新建的方式来对迭代分支内的资源进行改动,因为优先确定接口定义、然后再进入研发的 API-First 模式,效率更高、协同成本更低。

从主分支导入资源#

基于你本次迭代的实际需求,需要对现有接口、数据模型、响应组件进行改动升级时,使用“从主分支导入”功能向当前迭代分支上创建这个要调整的资源副本。
image.png
导入某个资源后,为了确保资源目录层级的准确,会自动将该资源的所有父级目录一并导入进当前迭代分支目录树中。从主分支导入的资源,在目录树上可以看到明显的关联标识。
image.png
目前接口用例的导入,是默认随着接口一并导入至迭代分支的。同样,如果是导入到迭代分支的接口用例,在目录树上也会有关联标识。
image.png

导入资源拉取主分支最新更改内容#

采用了迭代分支的方式进行研发,接口升级,仍然可能存在插入紧急需求等情况需要立即调整线上接口。此时可能绕过当前正在进行的迭代分支,直接在主分支更新了接口内容,导致主分支内容优先于迭代分支内容的情况。针对这个情况,我们提供了“拉取主分支资源”的功能来帮助解决这些场景下的内容冲突问题。
在迭代分支中通过导入创建的资源(即跟主分支有关联的资源),如果关联主分支内容在迭代分支导入之后发生变更的情况,则在迭代分支中访问这个资源的详情时,会被明显提示主分支内容发生变更。
image.png
在提示上点击查看功能即可查看变更的详情,并且根据需要选择哪部分内容拉取主分支内容,或仍然保留迭代分支内容。
image.png
在详情中选择完成并点击“确认”后,会根据选择来更改迭代分支中相关资源的内容,从而解决因为主分支内容更新而导致的内容冲突。

新建资源#

基于你本次迭代的实际需求,需要新增接口、数据模型、响应组件来满足业务需求时,使用“新建”功能向当前迭代分支上创建这个新的资源。
image.png
迭代分支上的新建功能,与主分支上的新建功能完全一致,你可以在迭代分支中的任一目录下新建一个资源。当你发现迭代分支中没有你新建资源所需要的父级目录时,你可以使用“导入接口目录”或“新建目录”功能来创建一个正确的父级目录后,再新建需要的资源。
导入接口目录:
image.png
新建目录:
image.png

顺序移动、目录内容调整#

基于你本次迭代的实际需求,需要对资源的顺序,或原有目录/新建目录的内容进行调整,你可以直接在已导入/新建至迭代分支中的资源进行和主分支一样的操作,任意调整接口顺序,或修改父级目录的设置。
通过目录树拖动,调整接口顺序前后:
image.png
如果为导入,目录也会展示关联标识:
image.png
目录内容也可以任意调整、修改:
image.png

资源删除 / 恢复#

在迭代分支中,可以任意操作删除资源,并在“回收站”中看到这些被删除的资源并选择恢复,功能与主分支的回收站一致。
image.png
如果反复的对同一主分支资源,在迭代分支中进行导入、删除、恢复,可能会发生操作完成的数据不符合预期的情况,请尽量避免这样操作。

接口的 Mock、对比、协同#

在迭代分支中的接口,会有属于本迭代分支的接口 Mock 地址,实际 Mock 内容也是完全基于当前迭代分支上的接口定义而来的,用以更好的帮助相关角色模拟本次迭代调整过后的接口响应。
image.png
你也可以对某个与主分支有关联关系的迭代分支资源上,进行单个资源的对比,查看这个资源与主分支的具体差异。
image.png
对于迭代分支中的接口,同样可以复制协作链接发送给其它伙伴,进行协同。
image.png
当点击迭代分支接口协作链接时你正处于其它分支时,系统会提示你是否切换分支查看接口。切换之前记得将当前分支的各种改动内容先保存后再切换查看。
image.png

将 OAS 导入迭代分支#

通过各种导入方式(手动、定时、接口等)将 OAS (OpenAPI Specfinication,又称 Swagger 定义) 内容直接导入至迭代分支。

指定迭代分支后进行导入#

确保左上角是处于导入的目标分支中,然后在 “项目设置 ->导入数据” 页面中,即可向当前分支中导入数据。
image.png
如果想要定时往迭代分支中导入数据,则在创建定时导入时,选择导入到目标分支即可。

OAS 内容与主分支内容的自动对比#

在将 OAS 导入至迭代分支时,实际的处理逻辑是:
识别 OAS 文件内容
根据 OAS 内各个接口的“Path+Method”与主分支包含的接口进行对比:
成功匹配到“Path+Method”的接口,OAS 内容跟主分支内容完全一致,则不导入此接口到迭代分支中;
成功匹配到“Path+Method”的接口,OAS 内容跟主分支内容有区别,则导入一个关联主分支的符合 OAS 内容的接口到迭代分支中;
没有匹配到“Path+Method”的接口,则导入一个新的接口到迭代分支中。
根据 OAS 内各个数据模型的“名称”与主分支包含的数据模型进行对比:
成功匹配到“名称”的数据模型,OAS 内容跟主分支内容完全一致,则不导入此数据模型到迭代分支中;
成功匹配到“名称”的数据模型,OAS 内容跟主分支内容有区别,则导入一个关联主分支的符合 OAS 内容的数据模型到迭代分支中;
没有匹配到“名称”的数据模型,则导入一个新的数据模型到迭代分支中。
导入并生成数据成功,展示成功在迭代分支通过导入新增、修改的各个资源的总览。
image.png
基于 Apifox 迭代分支“让研发者更聚焦于本次迭代实际需要改动的内容”的理念,所以导入后与主分支对比发现完全没有改动的资源,不会生成在迭代分支里。
修改于 2024-12-19 09:00:39
上一页
新建迭代分支
下一页
在迭代分支中测试 API
Built with