Apifox 使用文档

vuePress-theme-reco Apifox 使用文档    2021
Apifox 使用文档 Apifox 使用文档

Choose mode

  • dark
  • auto
  • light
文档
建议反馈
下载 Apifox

Apifox 使用文档

0

Article

0

Tag

文档
建议反馈
下载 Apifox
  • 介绍

    • Apifox 介绍
    • 快速上手
  • 接口管理

    • 接口设计 (接口文档)
    • 接口调试 / 接口用例
    • 数据结构 / 数据模型
    • 快捷调试
    • 环境管理
    • 环境变量 / 全局变量 / 本地变量
    • 动态变量 / 随机参数
  • Socket 接口

    • Socket 接口快速上手
    • 报文数据处理器
  • 最佳实践

    • 团队协作流程
    • 接口之间如何传递数据
    • 登录态(Auth)如何处理
    • 接口签名如何处理
  • 使用脚本

    • 脚本介绍
    • 预执行脚本
    • 后执行脚本 (断言测试)
    • 公共脚本
    • 脚本 API 参考

      • pm 对象 API
      • 内置 JS 类库
      • 脚本调用其他语言( java、python、php 等)
    • 脚本示例

      • 断言 (测试请求结果)
      • 脚本使用变量
      • 脚本读取/修改接口请求信息
      • 其他示例
  • Mock 数据

    • Mock 功能说明
    • Mock 语法
    • 智能 Mock
  • 测试管理

    • 测试用例
    • 测试套件
    • 性能测试
    • 对比测试 (todo)
  • 持续集成

    • 持续集成
  • 代码生成

    • 代码生成
  • 导入/导出

    • 导入数据
    • 导入抓包数据 (cURL)
    • 导出数据
  • Apifox CLI

    • Apifox CLI 命令行运行
  • Apifox API

    • Apifox 开放 API (todo)
  • 插件

    • 插件安装、开发 (todo)
    • 数据导入插件 (todo)
    • 数据导出插件 (todo)
  • 更多功能

    • 快捷键
    • 私有化部署
  • 参考资料

    • JSON Schema 介绍
    • Socket 粘包和分包问题
    • 安装 Java 环境
  • 其他

    • 常见问题
    • 后续功能规划
    • 更新日志
    • 联系我们

vuePress-theme-reco Apifox 使用文档    2021

Mock 功能说明


Apifox 使用文档

# Mock 功能说明

前端开发往往依赖于后端数据接口,在后端接口就绪之前,前端通常很难开工。Mock 功能就是用来解决这个问题的。有了 Mock 工具之后,前后端可以同步进入开发,后端接口出来之前,前端可以通过 Mock 功能来制造假数据接口来进行开发和调试。

# 一、功能说明

Mock 功能可以根据接口/数据结构定义、Mock规则配置、Mock 期望配置,自动生成模拟数据,且使用者可以根据需要灵活构造各种结构的接口数据。

通常情况 Apifox 零配置即可生成非常人性化的 mock 数据:

  1. Apifox 根据接口定义里的数据结构、数据类型,自动生成 mock 规则。
  2. Apifox 内置 智能 Mock 功能,根据字段名、字段数据类型,智能优化自动生成的 mock 规则。如:名称包含字符串image的string类型字段,自动 mock 出一个图片地址 URL;包含字符串time的string类型字段,自动 mock 出一个时间字符串;包含字符串city的string类型字段,自动 mock 出一个城市名。
  3. Apifox 根据内置规则(可关闭),可自动识别出图片、头像、用户名、手机号、网址、日期、时间、时间戳、邮箱、省份、城市、地址、IP 等字段,从而 Mock 出非常人性化的数据。
  4. 除了内置 mock 规则,用户还可以自定义规则库,满足各种个性化需求。支持使用 正则表达式、通配符 来匹配字段名自定义 mock 规则。

Apifox 零配置 mock 出来的数据效果:

Apifox Mock 数据结果对比同类工具

# 二、Mock 请求 URL

Mock URL 支持两种模式:

  1. 接口路径模式:http://127.0.0.1:4523/mock/{项目ID}{接口路径}
  2. 接口 ID 模式:http://127.0.0.1:4523/mock2/{项目ID}/{接口ID}

请求method与接口定义的method保持一致。

如你项目 ID 为18600,需要 mock 的接口ID为89343,路径为/store/pets,请求method为POST,则实际 Mock URL 为:

POST http://127.0.0.1:4523/mock/18600/store/pets
或
POST http://127.0.0.1:4523/mock2/18600/89343

默认情况下,定义好接口/数据结构后,无需做任何额外的配置,就可以通过上面的 URL 访问到自动 Mock 出来的数据接口了。

注意

  1. Mock 服务是在本地启动的,所以 URL 里的 ip 地址为127.0.0.1,如有其他设备需要访问 mock 数据,只需将127.0.0.1改成本机的内网 ip 即可。如果还是访问不了,请检查是否防火墙等限制了 mock 所用的4523端口。
  2. 如一个项目内,有多个接口拥有相同的method + path路径,则只能使用 接口 ID 模式,不能使用 接口路径模式,否则在会产生路径冲突。
  3. 如接口路径不是以/起始的,则只能使用 接口 ID 模式,不能使用 接口路径模式。
  4. 打开 Apifox 就会默认启动 mock 服务,无需额外操作。
  5. Mock 服务的前置 URL是固定的,不能修改。在名为Mock Server的环境里修改前置 URL并不会修改 Mock 服务的实际前置 URL。

# 获取接口 mock URL

打开接口详情-查看页面的Mock模块,即可获取对应接口的 mock URLs

Apifox 获取接口 mock URL

# 三、自定义 Mock 规则

Apifox 支持非常灵活的 mock 规则定义,满足各种业务需求。

# 1. 数据结构定义 mock 规则

定义数据结构的时候,可手动设置 mock 规则,支持 Mock.js 数据占位符定义方式书写 Mock 规则, 查看 Mock.js 语法

Apifox 数据结构定义 Mock 规则

# 2. 数据字段高级设置

数据字段高级设置里设置的最大值、最小值、枚举值、Partten、format,也会作为 Mock 规则使用:

Apifox 数据结构高级设置 Mock 规则

# 3. 高级 Mock

高级 mock 的是最灵活的 mock 方式,可实现灵活的自定义数据结构(不受接口数据结构限制),且可以根据不同的请求参数值返回不同的数据。

设置位置:接口详情-高级 Mock

配置项说明:

  1. 期望条件:根据不同的请求参数,返回不同数据。如:创建 2 个 期望:
    1. 请求参数id为1时,返回销售状态为available的数据。
    2. 请求参数id为2时,返回销售状态为sold的数据。
  2. 期望条件支持设置多个参数,多个参数同时匹配时才会匹配到该期望。
  3. 若期望条件里的参数位置选择为body,则实际请求的 body 请求类型需要和该接口定义保持一致,如接口定义的 body 请求类型为form-data,则 mock 时该参数也需要放在form-data里。
  4. 返回数据:即接口请求返回的数据,支持 mock.js 规则。
  5. 支持自定义返回 HTTP 状态码、返回延迟。

Apifox Mock

Apifox Mock

# 4. 智能 Mock

当接口设计的返回 Response (或数据模型) 里的字段未配置 mock 规则时,系统会自动使用智能 Mock 规则生成数据,以实现使用时零配置即可 mock 出非常人性化的数据。查看智能 Mock 说明文档

# 四、Mock 规则优先级

数据字段在自动 Mock 数据时,实际执行的 Mock 规则优先级顺序如下:

  1. 接口详情文档修改界面返回Response高级 Mock 里设置的期望(根据接口参数匹配)。
  2. 数据结构的字段里设置的Mock规则。
  3. 数据结构的字段高级设置里设置的最大值、最小值、枚举值、Partten、format。
  4. 项目设置-智能 Mock 设置的自定义规则。
  5. 项目设置-智能 Mock 设置的内置规则。
  6. 数据结构里字段的数据类型。

# 五、其他说明

  1. 默认情况下,系统会默认 mock 接口定义里的第一个Response的数据结构,如需 mock 其他Response,可在接口详情-查看页面的Mock模块获取其他 Response的 mock URL。
  • 一、功能说明
  • 二、Mock 请求 URL
  • 三、自定义 Mock 规则
  • 1. 数据结构定义 mock 规则
  • 2. 数据字段高级设置
  • 3. 高级 Mock
  • 4. 智能 Mock
  • 四、Mock 规则优先级
  • 五、其他说明