共计 4069 个字符,预计需要花费 11 分钟才能阅读完成。
作为一个 Web 前端开发者,开发过程中除了写业务代码,残余大多数工夫都花在了 API 的联调上。为了解决这个问题,大多数开发者会抉择 Mock 接口的计划,然而前端畛域的几种罕用 Mock 计划都须要肯定的学习老本。那么有没更优雅便捷的计划能够进步开发者开发效率实现上班自在呢。
一款对前端开发者优化的 API 管理工具
假如咱们当初要开发一个获取用户信息的性能,惯例流程是这样的:
接口设计。后端开发接口(此时前端开发页面)。后端接口开发测试实现,交付前端进行开发调试测试。
当初咱们应用 Apifox 来参加开发会怎么样呢?
- 接口设计
在接口设计的环节,咱们应用 Apifox 进行,通过 Apifox 能够齐全可视化的模式进行一个接口的设计,关上 Apifox,新建一个接口:
接口文档设计实现后,点击保留,Apifox 会保留此接口生成一个接口文档:
- 接口测试
在接口设计实现后,Apifox 会保留接口文档,文档内有接口的申请与返回信息,此时能够应用 Apifox 内置的 Mock 服务进行调试:
能够看到接口返回数据中主动 Mock 返回了数据,并且 Apifox 会依据常用字段命名,智能的得出人性化的 Mock 数据,并且会依据接口设计时每个字段的数据类型,去校验接口返回数据对应字段的数据类型。
{
"data": {
"username": "廖磊", // 中文姓名
"avatar": "http://dummyimage.com/100x100" // 头像 URL
},
"code": 100, // 接口状态码
"message": "occaecat aute proident non" // 接口返回额定信息
}
- 前端调试
在 Apifox 运行时,咱们能够在内部间接拜访起内置的 Mock 服务,这象征者,前端开发者不须要独自写 Mock 代码,在接口文档设计实现的时候,便能够间接调试!
咱们把刚刚调试的 URL 间接复制带浏览器中,能够间接返回数据!那么咱们便能够间接在我的项目中应用。
Apifox 还提供了高级 Mock 的性能(具体文档可看),咱们预期在传入 id= 1 的时候,接口能返回咱们想要的数据,例如:
{
"data": {
"username": "zh",
"avatar": "http://dummyimage.com/100x100"
},
"code": 200,
"message": "success"
}
应用 Apifox 的高级 Mock 性能增加一个:
再次发动申请,此时在参数 id 赋值为 1:
能够看到失去了咱们预期的返回!
那么咱们在前端开发时,便能够间接应用 Apifox 的 Mock 服务进行接口联调,等到后端同学实现了接口开发后,便能够无缝切换为实在的接口,因为 Apifox 是以接口设计优先,前后端都严格按照接口文档定义来开发。这样对前端如此敌对的工具,用了就回不去!
Apifox 是什么
Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化合作平台,定位 Postman + Swagger + Mock + JMeter。通过一套零碎、一份数据,解决多个零碎之间的数据同步问题。只有定义好 API 文档,API 调试、API 数据 Mock、API 自动化测试就能够间接应用,无需再次定义;API 文档和 API 开发调试应用同一个工具,API 调试实现后即可保障和 API 文档定义完全一致。高效、及时、精确!
1、Apifox 定位
Apifox = Postman + Swagger + Mock + JMeter
Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化合作平台。
通过一套零碎、一份数据,解决多个零碎之间的数据同步问题。只有定义好接口文档,接口调试、数据 Mock、接口测试就能够间接应用,无需再次定义;接口文档和接口开发调试应用同一个工具,接口调试实现后即可保障和接口文档定义完全一致。高效、及时、精确!
2、Apifox 主旨
节俭研发团队的每一分钟!
3、Apifox 性能
接口设计:Apifox 接口文档遵循 OpenApi 3.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 主动校验数据结构
Apifox 主动校验数据结构
4、“可视化”设置断言
设置断言:
Apifox 设置断言
Apifox 设置断言
运行后,查看断言后果:
5、“可视化”设置提取变量
6、反对数据库操作
7、“零配置”Mock 出十分人性化的数据
先放一张图比照下 Apifox 和其余同类工具 零配置 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 文档可设置为公开或须要明码拜访,十分不便与内部团队合作。
体验地址:https://www.apipark.cn/s/ce38…
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、HAR、RAML、RAP2、YApi、Eolinker、NEI、DOClever、ApiPost、Apizza、ShowDoc、API Blueprint、I/O Docs、WADL、Google Discovery 等数据格式,不便旧我的项目迁