作为软件开发从业者,API 调试是必不可少的一项技能,在这方面 Postman 做的十分出色。可是在整个软件开发过程中,API 调试只是其间的一部分,还有许多事情 Postman 无法完结,或许无法高效完结,比如:API 文档界说、API Mock、API 主动化测验等等。Apifox 便是为了处理这个问题而生的。

接口办理现状

一、常用处理方案

  1. 运用 Swagger 办理 API 文档
  2. 运用 Postman 调试 API
  3. 运用 MockJs 等东西 Mock API 数据
  4. 运用 JMeter 做 API 主动化测验

二、存在的问题

维护不同东西之间数据一致性十分困难、低效。而且这儿不仅仅是工作量的问题,更大的问题是多个体系之间数据不一致,导致协作低效、频频出问题,开发测验人员痛苦不堪。

  1. 开发人员在 Swagger 界说好文档后,接口调试的时分还需求去 Postman 再界说一遍。

  2. 前端开发 Mock 数据的时分又要去 MockJs 界说一遍,还需求手动设置 Mock 规矩。

  3. 测验人员需求去 JMeter 再界说一遍。

  4. 前端依据 MockJs Mock 出来的数据开发完,后端依据 Swagger 界说的接口文档开发完,各自都试测验经过了,本以为能够马上上线,成果一对接发现各种问题:

    • 开发过程中接口变更了,只修正了 Swagger,可是没有及时同步修正 MockJs。
    • 后端开发的接口数据类型和文档不一致,肉眼难以发现问题。
  5. 相同,测验在 JMeter 写好的测验用例,真正运转的时分也会发现各种不一致。

  6. 时间久了,各种不一致会越来越严峻。

Apifox 处理方案

中国版Postman:Apifox

中国版Postman:Apifox

一、怎么处理这些问题

1、Apifox 定位

Apifox = Postman + Swagger + Mock + JMeter

Apifox 是 API 文档、API 调试、API Mock、API 主动化测验一体化协作平台。

经过一套体系、一份数据,处理多个体系之间的数据同步问题。只需界说好接口文档,接口调试、数据 Mock、接口测验就能够直接运用,无需再次界说;接口文档和接口开发调试运用同一个东西,接口调试完结后即可确保和接口文档界说完全一致。高效、及时、精确!

2、Apifox 主旨

节省研制团队的每一分钟!

3、Apifox 功用

  1. 接口设计:Apifox 接口文档遵循OpenApi3.0 (原 Swagger)、JSON Schema标准的一起,供给了十分好用的可视化文档办理功用,零学习本钱,十分高效。而且支撑在线同享接口文档。
  2. 数据模型:可复用的数据结构,界说接口回来数据结构恳求参数数据结构(仅 JSON 和 XML 形式)时可直接引证。支撑模型直接嵌套引证,直接 JSON/XML 智能导入,支撑 oneOf、allOf 等高档组合形式。
  3. 接口调试:Postman 有的功用,比如环境变量、前置/后置脚本、Cookie/Session 大局同享 等功用,Apifox 都有,而且比 Postman 更高效好用。接口运转完之后点击保存为用例按钮,即可生成接口用例,后续可直接运转接口用例,无需再输入参数,十分便利。自界说脚本 100% 兼容 Postman 语法,而且支撑运转 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等各种言语代码。
  4. 接口用例:通常一个接口会有多种状况用例,比如参数正确用例、参数错误用例、数据为空用例、不同数据状况用例等等。运转接口用例时会主动校验数据正确性,用接口用例来调试接口十分高效。
  5. 接口数据 Mock:内置Mock.js规矩引擎,十分便利 mock 出各种数据,而且能够在界说数据结构的一起写好 mock 规矩。支撑添加“期望”,依据恳求参数回来不同 mock 数据。最重要的是 Apifox零装备即可 Mock 出十分人性化的数据,详细在本文后面介绍。
  6. 数据库操作:支撑读取数据库数据,作为接口恳求参数运用。支撑读取数据库数据,用来校验(断语)接口恳求是否成功。
  7. 接口主动化测验:供给接口集合测验,能够经过选择接口(或接口用例)快速创建测验集。目前接口主动化测验更多功用还在开发中,敬请期待!目标是: JMeter 有的功用基本都会有,而且要更好用。
  8. 快捷调试:相似 Postman 的接口调试方式,主要用途为临时调试一些无需文档化的接口,无需提早界说接口即可快速调试。
  9. 代码生成:依据接口及数据数据模型界说,体系主动生成接口恳求代码前端事务代码后端事务代码
  10. 团队协作:Apifox 天然生成便是为团队协作而生的,接口云端实时同步更新,老练的团队/项目/成员权限办理,满意各类企业的需求。

二、Apifox 做的不仅仅是数据打通

如果你以为 Apifox 只做了数据打通,来提高研制团队的功率,那就错了。Apifox 还做了十分多的立异,来提高开发人员的功率。

1、接口支撑“用例办理”

通常一个接口会有多种状况用例,比如正确用例参数错误用例数据为空用例不同数据状况用例。界说接口的时分界说好这些不同状况的用例,接口调试的时分直接运转,十分高效。

2、“数据模型”界说、引证

能够独立界说数据模型,接口界说时能够直接引证数据模型,数据模型之间也能够相互引证。相同的数据结构,只需求界说一次即可多处运用;修正的时分只需求修正一处,多处实时更新,防止不一致。

3、调试时“主动校验”数据结构

运用 Apifox 调试接口的时分,体系会依据接口文档里的界说,主动校验回来的数据结构是否正确,无需经过肉眼辨认,也无需手动写断语脚本检测,十分高效!

中国版Postman:Apifox

中国版Postman:Apifox

Apifox 主动校验数据结构

4、“可视化”设置断语

设置断语:

中国版Postman:Apifox

中国版Postman:Apifox

Apifox 设置断语

运转后,查看断语成果:

中国版Postman:Apifox

中国版Postman:Apifox

5、“可视化”设置提取变量

中国版Postman:Apifox

中国版Postman:Apifox

6、支撑数据库操作

中国版Postman:Apifox

中国版Postman:Apifox

7、“零装备”Mock 出十分人性化的数据

先放一张图对比下 Apifox 和其他同类东西零装备mock 出来的数据作用:

中国版Postman:Apifox

中国版Postman:Apifox

Apifox Mock 数据成果对比同类东西

能够看出 Apifox零装备Mock 出来的数据和真实状况是十分挨近的,前端开发能够直接运用,而无需再手动写 mock 规矩。

Apifox 怎么做到高功率零装备生成十分人性化的 mock 数据

  1. Apifox 依据接口界说里的数据结构、数据类型,主动生成 mock 规矩。
  2. Apifox 内置智能 mock 规矩库,依据字段名、字段数据类型,智能优化主动生成的 mock 规矩。如:称号包括字符串imagestring类型字段,主动 mock 出一个图片地址 URL;包括字符串timestring类型字段,主动 mock 出一个时间字符串;包括字符串citystring类型字段,主动 mock 出一个城市名。
  3. Apifox 依据内置规矩,可主动辨认出图片、头像、用户名、手机号、网址、日期、时间、时间戳、邮箱、省份、城市、地址、IP 等字段,从而 Mock 出十分人性化的数据。
  4. 除了内置 mock 规矩,用户还能够自界说规矩库,满意各种个性化需求。支撑运用正则表达式通配符来匹配字段名自界说 mock 规矩。

8、生成在线接口文档

Apifox 项目可“在线同享” API 文档,同享出去的 API 文档可设置为揭露或需求暗码访问,十分便利与外部团队协作。

体验地址:接口文档在线同享 – Apifox

中国版Postman:Apifox

中国版Postman:Apifox

9、代码主动生成

依据接口模型界说,主动生成各种言语/结构(如 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等)的事务代码(如 Model、Controller、单元测验代码等)和接口恳求代码。目前 Apifox 支撑 130 种言语及结构的代码主动生成。

更重要的是:你能够经过自界说代码模板来生成契合自己团队的架构标准的代码,满意各种个性化的需求。

10、导入、导出

  1. 支撑导出OpenApi (Swagger)MarkdownHtml等数据格式,因为能够导出OpenApi格式数据,所以你能够利用 OpenApi (Swagger) 丰厚的生态东西完结各种接口相关的事情。
  2. 支撑导入OpenApi (Swagger)PostmanapiDocHARRAMLRAP2YApiEolinkerNEIDOCleverApiPostApizzaShowDocAPI BlueprintI/O DocsWADLGoogle Discovery等数据格式,便利旧项目搬迁。
  3. 支撑定时主动导入OpenApi (Swagger)apiDocApifox格式数据。

三、后续功用规划

  1. 发布 Apifox WEB 版,支撑在浏览器端运用 Apifox。
  2. 接口性能测验支撑(相似 JMeter)。
  3. 支撑插件市场,能够自己开发插件。
  4. 敞开 Apifox API,答应开发者经过 API 调用 Apifox 的功用。
  5. 支撑更多接口协议,如GraphQLgRPCwebsocket等。
  6. 支撑离线运用,项目可选择在线同步(团队协作)还是仅本地存储(单机离线运用)。

四、更多 Apifox 功用截图

中国版Postman:Apifox

中国版Postman:Apifox

接口调试

中国版Postman:Apifox

中国版Postman:Apifox

自界说mock规矩

中国版Postman:Apifox

中国版Postman:Apifox

智能mock

中国版Postman:Apifox

中国版Postman:Apifox

接口主动化

中国版Postman:Apifox

中国版Postman:Apifox

项目导入

中国版Postman:Apifox

中国版Postman:Apifox

项目导出

中国版Postman:Apifox

中国版Postman:Apifox

多主题可选