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

以 OpenAPI 文件维护接口

以 OpenAPI 文件维护接口(简称 spec 模式)允许你直接在 Apifox 中维护 OpenAPI 规范文件。Apifox 会解析这些文件,并基于规范生成可导航的接口结构、接口文档、调试视图及相关资源。
创建项目或导入 OpenAPI 时,可以选择 以 OpenAPI 文件维护接口(Spec 模式)。
当你的团队符合以下场景时,推荐使用该模式:
已经使用 OpenAPI 或 Swagger 的 YAML / JSON 文件维护接口定义;
希望通过基于文件的流程评审 API 变更;
将 API 定义保存在 Git 仓库中;
希望 API 设计流程自然融入规范优先或代码仓库协作流程。

spec 模式如何工作#

在以可视化界面维护的项目中,接口通常通过可视化表单创建和编辑。
在 spec 模式项目中,主要工作区基于文件。你可以维护如下文件:
openapi.yaml
openapi.json
Swagger 2.0 文件
Markdown 文件及其他辅助项目文件
Apifox 会解析规范文件,并将其转换为可导航的接口结构。你可以编辑原始文件,使用支持的表单视图,校验规范文件,预览生成后的接口文档,并根据项目来源保存或推送变更。
spec 模式项目概览

创建 spec 模式项目#

只有 通用项目 可以选择该模式。gRPC 和 Dubbo 项目暂不支持该模式。
1
在 主窗口 中选择团队,进入 「团队项目」,点击 「新建项目」。
2
确认项目类型为 通用项目,然后选择 「以 OpenAPI 文件维护接口」。
3
选择 「连接 Git 仓库」 或 「不使用 Git 创建」。
4
如果选择连接 Git 仓库,请按照页面提示完成配置。
5
填写项目名称,并按需设置图标、项目语言 和项目权限。
6
点击创建。项目会打开 Specs 工作区。
创建 spec 模式项目
空白项目不会自动生成 openapi.yaml,进入 Specs 工作区后,需手动点击创建或导入。
除新建空白项目外,在导入 OpenAPI / Swagger 文件时也可以选择该模式。详见新建 API 项目 和导入 OpenAPI/Swagger。
spec 模式项目不会包含示例项目数据。项目中的接口内容来自你的规范文件。
当前环境如果还没有配置 Git 应用,「连接 Git 仓库」会不可用,只能选择「不使用 Git 创建」。

支持的规范文件#

Apifox 支持以下格式的 OpenAPI / Swagger 文件:
JSON
YAML
支持的文件扩展名:
.json
.yaml
.yml
支持的规范版本:
OpenAPI 3.1
OpenAPI 3.0
Swagger 2.0
文件根节点必须包含 openapi 或 swagger 字段。
示例:

Specs 工作区#

spec 模式项目的左侧边栏中会出现 Specs 工作区。这里是管理规范文件和同步变更的主要入口。Specs 工作区包含:
文件浏览器:浏览和管理规范文件及文件夹。
接口结构树:浏览解析后的 OpenAPI 内容,例如概览、接口、数据模型和定义。
编辑器:以代码视图编辑文件;对于支持的 OpenAPI 节点,也可以使用表单视图编辑。
当你在接口结构树中选择接口、数据模型或其他支持的节点时,Apifox 会打开源文件中对应的位置,方便你在文件视角和接口视角之间切换。
Specs 工作区

编辑规范文件#

编辑器支持不同文件类型和编辑模式。

代码视图#

使用 代码 视图可以直接编辑 YAML、JSON、Markdown 及其他文本文件。这是 spec 模式中默认的编辑方式。
代码视图

表单视图#

对于支持的 OpenAPI 节点,Apifox 也提供 表单 视图。你可以通过结构化控件编辑常见接口字段,同时保持底层规范文件作为事实来源。
表单视图
表单视图可能支持以下节点:
API 概览
接口
数据模型
定义
如果当前选择的文件或节点不支持表单视图,Apifox 会保持在代码视图中。

编辑、校验与预览#

spec 模式提供规范校验和文档预览能力。

校验#

校验 面板会展示当前规范中检测到的问题,包括警告和错误。
你可以在保存或推送变更前,通过该面板发现语法问题、缺失的必填字段和规范规则问题。
校验面板

预览#

预览 面板会展示当前选中的规范节点在生成后的接口文档中的展示效果。
对于接口节点,预览内容可能包括:
文档:生成后的接口文档。
调试 / Try it out:基于当前接口定义发送请求的调试面板。
对于数据模型、定义和概览节点,预览区域会展示生成后的文档视图。
校验和预览使用同一个侧边面板。打开其中一个面板时,另一个面板会关闭。

保存、提交和同步变更#

变更的保存方式取决于项目来源。

Git 托管的 spec 模式项目#

对于连接外部 Git 仓库的项目:
1
在 Specs 工作区中编辑文件。
2
查看已修改、新增、重命名或删除的文件。
3
点击 「提交并推送」。
4
选择需要包含在本次提交中的文件。
5
输入提交信息。
6
将变更推送到已连接的 Git 仓库。
当其他成员向仓库推送变更后,你可以将最新文件同步到 Apifox。如果已启用 Webhook
同步,Git 仓库中的推送事件可以自动触发同步。

Apifox 存储托管的 spec 模式项目#

不使用 Git 创建的项目会使用 Apifox 内部存储,而不是外部 Git 仓库。
这类项目仍然使用 Specs 工作区,并支持基于文件的编辑、校验、预览和分支管理。
界面中的操作文案可能有所不同:
使用 「同步」 保存并同步变更。
使用 「保存」 保存变更。
Git 服务信息和外部 Webhook 设置会被隐藏。

将 OpenAPI / Swagger 导入 spec 模式项目#

新建项目并同时带入文件时,请用首页 「导入项目」。解析 OpenAPI / Swagger 成功后,选择 「以 OpenAPI 文件维护接口」,确认项目名称,然后点击 「创建并导入」。此路径不会出现可视化导入中的预览和导入选项。
若项目已存在,可在 项目设置 → 导入数据 中导入 OpenAPI / Swagger。
对于 Apifox 存储托管的 spec 模式项目,Apifox 会将导入的文档保存为规范文件,并解析该文件以更新生成后的接口结构。导入的文档可能会保存为:
reference/openapi.json
reference/openapi.yaml
随后 Apifox 会启动同步任务,解析文件并更新项目接口。
对于 Git 托管的 Spec 模式项目,若在项目内使用「导入数据」功能,系统不会将导入的文档写入 reference/openapi.* 文件

与「以可视化界面维护接口」模式的区别#

能力以可视化界面维护接口以 OpenAPI 文件维护接口
主要接口维护方式可视化接口编辑器OpenAPI / Swagger 文件
接口创建入口接口树和可视化表单Specs 工作区
接口定义来源Apifox 项目数据规范文件
Git 基于文件的协作非必需创建时可连接仓库,也可以先不使用 Git
适用场景可视化API 设计与协作规范优先的 API 工作流

Webhook 同步和权限#

Webhook 同步是可选能力,推荐希望 Apifox 自动跟随仓库推送更新的团队使用。
启用 Webhook 同步后:
Apifox 会在已连接的 Git 服务中注册 Webhook。
支持的推送事件可以触发同步。
安装 Webhook 通常需要对应仓库的管理员权限。
权限要求:
导入 OpenAPI / Swagger 数据需要项目导入权限。
向 Git 仓库推送变更需要仓库写入权限。
安装 Webhook 通常需要仓库管理员权限。
如果跳过 Webhook 安装,仍然可以手动同步。

注意事项和限制#

「以 OpenAPI 文件维护接口」当前为 Beta 功能。
只有通用项目可以选择该模式。
Specs 工作区仅在 spec 模式项目中显示。
spec 模式项目不会创建示例接口数据。
空白创建不会自动生成规范文件。需要在 Specs 中新建,或通过导入带入。
规范文件是接口定义的事实来源。建议通过 Specs 工作区修改规范文件,或通过 Git 同步变更。
可视化维护中的部分接口创建操作在 spec 模式项目中会被隐藏。
Swagger UI 的 HTML 页面不是有效的 OpenAPI 导入文件。请使用 .json、.yaml 或 .yml 规范文件的直接 URL。
上一页
通用接口文档
下一页
请求头
Built with