作为软件开发从业者,API 调试是必不可少的一项技能,在这方面 Postman 做的十分出色。可是在整个软件开发过程中,API 调试只是其间的一部分,还有许多事情 Postman 无法完结,或许
无法高效完结
,比如:API 文档界说、API Mock、API 主动化测验等等。Apifox 便是为了处理这个问题而生的。
接口办理现状
一、常用处理方案
- 运用 Swagger 办理 API 文档
- 运用 Postman 调试 API
- 运用 MockJs 等东西 Mock API 数据
- 运用 JMeter 做 API 主动化测验
二、存在的问题
维护不同东西之间数据一致性十分困难、低效。而且这儿不仅仅是工作量的问题,更大的问题是多个体系之间数据不一致,导致协作低效、频频出问题,开发测验人员痛苦不堪。
-
开发人员在 Swagger 界说好文档后,接口调试的时分还需求去 Postman 再界说一遍。
-
前端开发 Mock 数据的时分又要去 MockJs 界说一遍,还需求手动设置 Mock 规矩。
-
测验人员需求去 JMeter 再界说一遍。
-
前端依据 MockJs Mock 出来的数据开发完,后端依据 Swagger 界说的接口文档开发完,各自都试测验经过了,本以为能够马上上线,成果一对接发现各种问题:
- 开发过程中接口变更了,只修正了 Swagger,可是没有及时同步修正 MockJs。
- 后端开发的接口数据类型和文档不一致,肉眼难以发现问题。
-
相同,测验在 JMeter 写好的测验用例,真正运转的时分也会发现各种不一致。
-
时间久了,各种不一致会越来越严峻。
Apifox 处理方案
一、怎么处理这些问题
1、Apifox 定位
Apifox = Postman + Swagger + Mock + JMeter
Apifox 是 API 文档、API 调试、API Mock、API 主动化测验一体化协作平台。
经过一套体系、一份数据,处理多个体系之间的数据同步问题。只需界说好接口文档,接口调试、数据 Mock、接口测验就能够直接运用,无需再次界说;接口文档和接口开发调试运用同一个东西,接口调试完结后即可确保和接口文档界说完全一致。高效、及时、精确!
2、Apifox 主旨
节省研制团队的每一分钟!
3、Apifox 功用
-
接口设计:Apifox 接口文档遵循OpenApi3.0 (原 Swagger)、JSON Schema标准的一起,供给了十分好用的
可视化
文档办理功用,零学习本钱,十分高效。而且支撑在线同享接口文档。 -
数据模型:可复用的数据结构,界说接口
回来数据结构
及恳求参数数据结构
(仅 JSON 和 XML 形式)时可直接引证。支撑模型直接嵌套引证,直接 JSON/XML 智能导入,支撑 oneOf、allOf 等高档组合形式。 -
接口调试:Postman 有的功用,比如环境变量、前置/后置脚本、Cookie/Session 大局同享 等功用,Apifox 都有,而且比 Postman 更高效好用。接口运转完之后点击
保存为用例
按钮,即可生成接口用例
,后续可直接运转接口用例,无需再输入参数,十分便利。自界说脚本 100% 兼容 Postman 语法,而且支撑运转 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等各种言语代码。 -
接口用例:通常一个接口会有多种状况用例,比如
参数正确
用例、参数错误
用例、数据为空
用例、不同数据状况
用例等等。运转接口用例时会主动校验数据正确性,用接口用例来调试接口十分高效。 -
接口数据 Mock:内置Mock.js规矩引擎,十分便利 mock 出各种数据,而且能够在界说数据结构的一起写好 mock 规矩。支撑添加“期望”,依据恳求参数回来不同 mock 数据。最重要的是 Apifox
零装备
即可 Mock 出十分人性化的数据,详细在本文后面介绍。 - 数据库操作:支撑读取数据库数据,作为接口恳求参数运用。支撑读取数据库数据,用来校验(断语)接口恳求是否成功。
- 接口主动化测验:供给接口集合测验,能够经过选择接口(或接口用例)快速创建测验集。目前接口主动化测验更多功用还在开发中,敬请期待!目标是: JMeter 有的功用基本都会有,而且要更好用。
-
快捷调试:相似 Postman 的接口调试方式,主要用途为临时调试一些
无需文档化
的接口,无需提早界说接口即可快速调试。 -
代码生成:依据接口及数据数据模型界说,体系主动生成
接口恳求代码
、前端事务代码
及后端事务代码
。 -
团队协作:Apifox 天然生成便是为团队协作而生的,接口云端实时同步更新,老练的
团队/项目/成员权限
办理,满意各类企业的需求。
二、Apifox 做的不仅仅是数据打通
如果你以为 Apifox 只做了数据打通,来提高研制团队的功率,那就错了。Apifox 还做了十分多的立异,来提高开发人员的功率。
1、接口支撑“用例办理”
通常一个接口会有多种状况用例,比如正确用例
参数错误用例
数据为空用例
不同数据状况用例
。界说接口的时分界说好这些不同状况的用例,接口调试的时分直接运转,十分高效。
2、“数据模型”界说、引证
能够独立界说数据模型,接口界说时能够直接引证数据模型,数据模型之间也能够相互引证。相同的数据结构,只需求界说一次即可多处运用;修正的时分只需求修正一处,多处实时更新,防止不一致。
3、调试时“主动校验”数据结构
运用 Apifox 调试接口的时分,体系会依据接口文档里的界说,主动校验回来的数据结构是否正确,无需经过肉眼辨认,也无需手动写断语脚本检测,十分高效!
Apifox 主动校验数据结构
4、“可视化”设置断语
设置断语:
Apifox 设置断语
运转后,查看断语成果:
5、“可视化”设置提取变量
6、支撑数据库操作
7、“零装备”Mock 出十分人性化的数据
先放一张图对比下 Apifox 和其他同类东西零装备
mock 出来的数据作用:
Apifox Mock 数据成果对比同类东西
能够看出 Apifox零装备
Mock 出来的数据和真实状况是十分挨近的,前端开发能够直接运用,而无需再手动写 mock 规矩。
Apifox 怎么做到高功率
、零装备
生成十分人性化的 mock 数据
- Apifox 依据接口界说里的数据结构、数据类型,主动生成 mock 规矩。
- Apifox 内置智能 mock 规矩库,依据字段名、字段数据类型,智能优化主动生成的 mock 规矩。如:称号包括字符串
image
的string
类型字段,主动 mock 出一个图片地址 URL;包括字符串time
的string
类型字段,主动 mock 出一个时间字符串;包括字符串city
的string
类型字段,主动 mock 出一个城市名。 - Apifox 依据内置规矩,可主动辨认出图片、头像、用户名、手机号、网址、日期、时间、时间戳、邮箱、省份、城市、地址、IP 等字段,从而 Mock 出十分人性化的数据。
- 除了内置 mock 规矩,用户还能够自界说规矩库,满意各种个性化需求。支撑运用
正则表达式
、通配符
来匹配字段名自界说 mock 规矩。
8、生成在线接口文档
Apifox 项目可“在线同享” API 文档,同享出去的 API 文档可设置为揭露或需求暗码访问,十分便利与外部团队协作。
体验地址:接口文档在线同享 – Apifox
9、代码主动生成
依据接口模型界说,主动生成各种言语/结构(如 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等)的事务代码(如 Model、Controller、单元测验代码等)和接口恳求代码。目前 Apifox 支撑 130 种言语及结构的代码主动生成。
更重要的是:你能够经过自界说代码模板
来生成契合自己团队的架构标准的代码,满意各种个性化的需求。
10、导入、导出
- 支撑导出
OpenApi (Swagger)
、Markdown
、Html
等数据格式,因为能够导出OpenApi
格式数据,所以你能够利用 OpenApi (Swagger) 丰厚的生态东西完结各种接口相关的事情。 - 支撑导入
OpenApi (Swagger)
、Postman
、apiDoc
、HAR
、RAML
、RAP2
、YApi
、Eolinker
、NEI
、DOClever
、ApiPost
、Apizza
、ShowDoc
、API Blueprint
、I/O Docs
、WADL
、Google Discovery
等数据格式,便利旧项目搬迁。 - 支撑
定时主动
导入OpenApi (Swagger)
、apiDoc
、Apifox
格式数据。
三、后续功用规划
- 发布 Apifox WEB 版,支撑在浏览器端运用 Apifox。
- 接口性能测验支撑(相似 JMeter)。
- 支撑插件市场,能够自己开发插件。
- 敞开 Apifox API,答应开发者经过 API 调用 Apifox 的功用。
- 支撑更多接口协议,如
GraphQL
、gRPC
、websocket
等。 - 支撑离线运用,项目可选择在线同步(团队协作)还是仅本地存储(单机离线运用)。
四、更多 Apifox 功用截图
接口调试
自界说mock规矩
智能mock
接口主动化
项目导入
项目导出
多主题可选