Apifox 帮助文档
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
  1. 常见问题
  • 技术支持概览
  • 导入/导出
    • 如何导入接口数据到 Apifox?
    • 如何导入 cURL 到 Apifox?
    • 如何将 Postman 的环境变量迁移到 Apifox?
    • 为什么导出的 API 数量减少了?
    • 为什么导出到 Markdown 和 HTML 时 API 顺序混乱?
    • 如何将文档导出为 PDF/Word?
    • 如何在 Apifox 中导入 Swagger/OpenAPI 时自动将接口分组?
    • postman导入提示错误:URImalformed
  • 发送请求
    • 为什么参数值中的"+"会被解码成空格?
    • Apifox 是否支持调试 Socket.IO?
    • Apifox 是否支持在 WebSocket 接口中使用前置/后置脚本或者断言?
    • Apifox 是否支持在 gRPC 接口中使用前置/后置脚本或者断言?
    • 为什么发送请求的时候,出现"socket hang up"?
    • 为什么同一个接口客户端请求成功,在web端调试会出现错误:"无法请求地址" ?
    • 接口响应过大时,为什么 Apifox 会报错提示超出 nodejs 字符串最大长度?
    • 为什么发送请求,提示“Invalid URI xxx"?
    • 为什么发送请求,提示”Couldn't resolve host“?
  • 设计 API
    • 可以把响应组件作为默认响应吗?
    • 怎么查看是谁修改了接口?
    • 如何在 Apifox 中批量删除目录?
    • 如何在 Apifox 中批量删除接口?
    • 怎么给接口批量添加或删除 URL 前缀?
    • 如果一个字符串属性有多个枚举值,而且在不同地方都用到了,怎么才能保证这个枚举在整个文档里都保持一致?
    • 如何获取 Apifox 的资源目录 ID?
    • 如何在 URL 路径中使用变量?
    • 如何使用 Apifox 录制接口?
    • 在定义接口响应时,是否允许接口没有任何响应内容?
    • 接口/文档/测试场景不小心删除了怎么办?
    • Apifox 是否支持自定义接口的请求代码?
    • 如何在 Apifox 接口列表中设置显示 接口名称 或 接口 URL?
    • 为什么接口定义的字段在文档中看不到?
    • 如何获取项目ID?
    • 如何快速编辑 JSON 数据结构中的必填字段?
    • 为什么在路径中不支持输入 “#” ?
    • 数组如何配置枚举?
    • 数组如何设置元素的唯一性?
    • form-data 中字段使用 JSON 值
  • 调试 API
    • 为什么同样的请求在其它工具(比如 Postman)里能正常工作,但在 Apifox 里却不行?
    • 怎么把其它工具的环境迁移到Apifox?
    • 怎么在 Apifox 里用脚本做断言?
    • JSONPath 只能提取数组,那在 Apifox 里怎么从数组中提取单个元素呢?
    • 在 Apifox 中,不同环境有不同的数据库连接,怎么配置数据库操作?
    • 如何在目录级别添加 header 参数?
    • 如何在自定义脚本中获取服务 baseURL?
    • 如何在 Apifox 自定义脚本中生成动态值?
    • 如何在 Apifox 中查看原始报文?
    • 如何在 Apifox 脚本中发起异步请求?
    • 控制台打印内容大小限制是多少?为什么打印大文件会报错?
    • 如何在接口请求时上传文件?
    • Apifox 中如何设置请求超时时间?
    • 如何批量修改 Header 的 User-Agent 字段
    • 接口带上了非预期的 Cookie 怎么处理?
    • 发送请求失败 “Error: getaddrinfo ENOTFOUND xxx.xxx.xxx.xxx” 的原因及排查方法
    • 使用 Windows 版本连接 DB2 数据库时报错怎么解决?
    • 使用 Apifox 连接 Oracle 数据库报错 NJS-045?
    • 为什么 WebSocket 在 web 端连接正常,在客户端报“1006 Abnormal Closure“?
    • 为什么 curl 请求正常返回 200,但在 Apifox 中请求却返回 400?
    • 为什么在 Apifox 上传文件,后台接收不到?
    • Dubbo 接口调试时出现 "The socket was closed.(address:address=>bolt://{ip})" 错误,如何解决?
    • 接口签名使用 AES-GCM 加密
    • 前置脚本如何使用 SHA256withRSA 加密?
  • Mock 数据
    • Apifox支持 Mock WebSocket 接口吗?
    • 为什么浏览器请求 Mock 接口没有返回内容?
    • Mock 数组数据时,如何让生成的数据不重复?
  • 自动化测试
    • 为什么测试场景 Apifox 客户端运行没问题,但在 Apifox CLI 或 Runner 中运行时却出错了?
    • 为什么无法成功引用前置步骤数据?
    • 在性能测试中怎么查看实际的请求和响应?
    • 在 Apifox 中怎么导出性能测试报告?
    • 如何使用数据库查询得到的数据循环传参给接口运行?
    • 如何解决 "Error: unable to verify the first certificate on runner" 错误?
    • 为什么在 CLI 执行完生成的测试报告,使用 Apifox 客户端查看报告每个 case 的详情都看不到呢?
    • 如何在 Apifox Web 版设置通用 Runner 的服务器 Host?
    • 接口参数是一个上传文件在 Runner、CLI 中找不到怎么办?
    • 当 Runner 发生问题了,如何查询 Runner 日志用以定位?
    • 如何查看 runner 版本号?
    • 使用 Runner 运行测试场景报错,报告提示"unsafe legacy renegotiation disabled"?
    • 用自托管 Runner 执行了任务, 服务器有对应测试报告生成吗?
    • 为什么linux系统在安装cli后不能直接使用
    • 为什么测试步骤同步不了接口的参数值?
    • 为什么接口用例改了,测试步骤没有自动同步?
    • 如何在 PowerShell 中运行 Apifox CLI 命令
    • 可以给测试场景下的请求添加统一的前后置操作吗?
    • 自动化测试中如何让动态值在单次测试中保持一致?
    • 如何在持续集成中选择多个测试场景一起运行?
  • 发布 API 文档
    • 怎么在发布的文档中隐藏所有 Apifox 的元素(Logo、按钮等)?
    • 当在 Apifox 中更新文档内容时,已发布的线上 API 文档会跟着改变吗?
    • 自定义域名一直显示未生效怎么办?
    • 如何检查 CNAME 配置是否正确?
    • Apifox 自定义域名的 SSL 证书生成失败怎么办?
    • Apifox 发布文档/快捷分享中,如何让使用者修改请求的 Base URL ?
    • 如何将 Apifox 发布文档复制到自己的项目中?
  • 迭代分支
    • 怎么访问迭代分支?
  • 管理中心
    • Apifox 项目、团队和组织的区别
    • 如何为 Apifox 添加白名单?
    • 如何为 Apifox 中的团队配置「IP 允许访问名单」?
    • 如何设置项目权限?
    • 如何设置团队权限
    • 如何邀请已加入团队的成员进入项目?
  • IDEA 插件
    • 为什么通过 idea 插件导入的数据模型名称带有《》?
  • Markdown 相关
    • 如何在 Apifox 的卡片组件中链接到项目内的文档或接口?
    • 如何在 Markdown 文档中插入项目内接口/文档/数据模型/目录?
    • 怎么在 Apifox 的 Markdown 中使用透明背景图片?
    • 为什么 Markdown 文档中使用多个 $ 时部分内容没有正确显示?
    • 如何在 Apifox 的 Markdown 中编写流程图?
    • 如何控制 Markdown 表格的列宽?
  • 收费与部署
    • Apifox 是否收费?
    • 数据是存储在本地还是云端?可否离线使用?可否私有化部署?
    • 购买【商业专业版】1年,使用半年后升级到【商业旗舰版】,如何计费?
  • Web 端与客户端
    • Apifox alpha 版下载
    • Web 端与客户端有何区别?
    • Web 端与客户端数据不同步如何处理?
    • 为什么Web端发送请求正常,客户端发送请求,出现“read ECONNRESET”?
    • 为什么下载时会跳到百度网盘或天翼网盘?
    • ApifoxAppAgent 进程的作用是什么?
    • Apifox 闪退、白屏怎么办?
    • Apifox 如何打开开发者工具?
    • Apifox 支持 win7 吗?
    • Win 系统自动更新后打不开可能是什么原因?
    • 微信、手机号提示已经被绑定了怎么办?
    • 为什么安装 Apifox 后启动提示"无法定位程序输入点DiscardVirtualMemory 于动态链接库KERNEL32.dll"
    • 为什么 Windows 安装新版本后打开还是旧版本?
    • 为什么网络正常,访问 Apifox 提示“连接 Apifox 服务器出错,请检查网络是否异常”?
  • MCP Server
    • Apifox 新增接口目录后,MCP 没有获取到新的目录?
    • Apifox MCP 为什么会识别不到本地文档的 API 接口?
    • 内网私有部署的大模型,能够直接用 apifox 的 mcp 嘛?
  1. 常见问题

调试 API

为什么同样的请求在其它工具(比如 Postman)里能正常工作,但在 Apifox 里却不行?
如果请求完全一样,那不管用什么工具,响应应该都是一样的。如果你发现响应不一样,可以在 Apifox 里切换到 “实际请求” 标签页,对比一下你在其它工具 (比如 Postman) 里发送的请求,看看有什么不同。 Postman 里如何查看实际请求? 发送请求后,点开下方控制台即可查看。 ![...
怎么把其它工具的环境迁移到Apifox?
在 Apifox 中,变量的远程值会在团队内同步,而本地值仅存储在本地。这意味着,当你在另一台电脑上使用 Apifox 时,无法访问之前设置的本地值。 为了解决这个问题,Apifox 提供了环境迁移功能。你可以将环境中的服务和变量导出为 JSON 文件,并在另一台电脑上导入。操作步骤如下: ...
怎么在 Apifox 里用脚本做断言?
在 Apifox 中,你可以用 pm.test 语法来通过脚本创建断言。 Apifox 兼容 Postman 的脚本,所以你可以直接使用现有的 Postman 脚本,无缝对接。 :::highlight purple 📌了解更多断言示例:::
JSONPath 只能提取数组,那在 Apifox 里怎么从数组中提取单个元素呢?
点击 JSONPath 输入框右侧的 图标。 在弹出的 JSONPath 提取工具中,左侧显示 JSON 响应。你可以在右上方的 JSONPath 表达式框中输入表达式,下方的结果区域会根据你的表达式动态提取对应的数据。或者可以直接将鼠标悬停在响应字段上进行提取。 ...
在 Apifox 中,不同环境有不同的数据库连接,怎么配置数据库操作?
当你在处理多个环境 (比如测试环境和生产环境) 时,它们通常配置的是不同的数据库。如果你在工作流中使用了数据库操作,这意味着这些操作需要随着环境的切换而改变。 在这种情况下,你可以在Apifox的 “数据库连接” 设置中配置多个数据库连接。通过为每个环境设置数据库连接,你可以确保在使用右上角的下拉菜...
如何在目录级别添加 header 参数?
目前没有直接在目录设置中添加请求头的方式。 但是,您可以利用目录设置中的前置脚本来添加请求头。该目录下的所有接口都将继承并执行这些前置脚本。 通过脚本添加header参数可以参考这段示例 pm.request.headers.add({ key: 'X-Custom-Header&#...
如何在自定义脚本中获取服务 baseURL?
Apifox 提供了 pm.request.getBaseUrl() 方法来获取当前接口的 baseURL。 建议使用上述方式而不是 pm.environment.get('BASE_URL'),因为如果接口未使用默认服务,后者可能无法返回正确的 baseURL。 另外,可以通过pm...
如何在 Apifox 自定义脚本中生成动态值?
Apifox 支持在自定义脚本中生成动态值,使用pm.variables.replaceInAsync(variableName:String):function方法将以真实的值替换字符串里包含的“动态值表达式”。该函数返回 Promise,调用时需加 await。 一个生成随机姓名的示例如下: /...
如何在 Apifox 中查看原始报文?
Apifox 不需要打印到控制台,返回信息里有一个“实际请求”的 Tab,直接在这个 Tab 里就可以看到原始请求的报文了 ![image.png](https://api.apifox.com/api/v1/projects/5097254/resources/495156/image-pre...
如何在 Apifox 脚本中发起异步请求?
Apifox 支持在自定义脚本中使用 pm.sendRequest 函数发起异步请求。具体用法可以参考 Apifox sendRequest。
控制台打印内容大小限制是多少?为什么打印大文件会报错?
Apifox 的控制台打印内容大小限制为 1024 * 1024 字节 (1MB)。这是 Node.js 的限制,目前 Apifox 不支持配置修改此限制。如果打印的文件内容过大,超过此限制,就会报错。
如何在接口请求时上传文件?
接口请求需要上传文件,需要将请求的 Body 切换为 form-data 格式,并将对应字段设置成 file 类型,设置后即可上传文件。 ![image.png](https://api.apifox.com/api/v1/projects/5097254/resources/496165/ima...
Apifox 中如何设置请求超时时间?
点击 Apifox 页面右上角的 “设置” icon。 在弹出的 “设置” 界面,点击 “通用” 选项,你会在右边的选项卡中看到 “请求超时时间” 的设置,填写即可。超时时间默认为 300000 毫秒(5 分钟),如果设置为 0,则不限制超时时...
如何批量修改 Header 的 User-Agent 字段
在根目录新建一个前置操作-自定义脚本,输入以下内容: pm.request.headers.remove("User-Agent"); pm.request.headers.add({ key: 'User-Agent', value: 'Chro...
接口带上了非预期的 Cookie 怎么处理?
打开项目内右下角 Cookie 管理 关闭 “启用全局 Cookie”
发送请求失败 “Error: getaddrinfo ENOTFOUND xxx.xxx.xxx.xxx” 的原因及排查方法
Apifox 中遇到 Error: getaddrinfo ENOTFOUND xxx.xxx.xxx.xxx 错误,通常表示 Apifox 无法解析请求中的域名或主机名,或者网络不可达。以下是可能的原因及排查方法: 1. URL 或 IP 地址错误: 仔细检查请求的 URL 或 IP 地址是否拼写...
使用 Windows 版本连接 DB2 数据库时报错怎么解决?
Apifox 连接 DB2 数据库时如果出现 Error: The specified module could not be found. 错误,通常是因为缺少必要的环境变量。您可以按照以下步骤配置环境变量来解决这个问题: 配置 PATH 环境变量:将 <Apifox 安装位置>\r...
使用 Apifox 连接 Oracle 数据库报错 NJS-045?
使用 arm64 系统连接 Oracle 数据库时,出现 “NJS-045: cannot load a node-oracledb binary for Node.js 18.18.2 (darwin arm64)” 错误。目前 Oracle 官方在 ARM64 架构上存在兼容性问题,因此目前 O...
为什么 WebSocket 在 web 端连接正常,在客户端报“1006 Abnormal Closure“?
如果 WebSocket 接口可以访问外网,请尝试切换网络,例如使用手机热点。 如果使用手机热点正常,请检查是否开启了代理 网络代理 如果使用手机热点也报错,可能是 Web 端在浏览器中会自动携带一些头信息,您可以打开浏览器的开发者工具(通常是按下 F12 键),手动将浏览器中请求 WebSock...
为什么 curl 请求正常返回 200,但在 Apifox 中请求却返回 400?
如果 curl 请求正常,但在 Apifox 中相同的请求返回 400 错误,很可能是 Apifox 中的请求头设置与 curl 不同导致的。请检查以下几点: 请求头: 切换到 Apifox 的“Header”标签页,确认是否关了几个系统自动生成的 Header。Host头缺失通常会导致 400 ...
为什么在 Apifox 上传文件,后台接收不到?
如果使用 Apifox 上传文件,但是后台接收不到,可以尝试以下步骤进行排查: 验证 Apifox 发送请求是否正确:发送文件到 https://echo.apifox.com/post, 查看返回结果是否包含上传的文件。如果返回结果正确,则说明 Apifox 发送文件没有问题,问题可能出在你的服...
Dubbo 接口调试时出现 "The socket was closed.(address:address=>bolt://{ip})" 错误,如何解决?
当使用 Apifox 调试 Dubbo 接口时,出现 "The socket was closed.(address:address=>bolt://{ip})" 错误,通常表示 协议错误 或 TCP 连接不通。请按照以下步骤排查: 确认 Dubbo 服务端配置: 检查 ...
接口签名使用 AES-GCM 加密
内置的 crypto-js 不支持 AES-GCM 加密,使用 jscrypto,参考脚本 fox.liveRequire("jscrypto", (JsCrypto) => { try { var key = JsCrypto.Hex.parse("...
前置脚本如何使用 SHA256withRSA 加密?
代码参考: const rsa = require("jsrsasign"); // 1. 生成或导入一个RSA私钥 var privateKeyPEM = ` -----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQE...
上一页
form-data 中字段使用 JSON 值
下一页
为什么同样的请求在其它工具(比如 Postman)里能正常工作,但在 Apifox 里却不行?
Built with