作为一名前端,日常开发过程中除了写业务代码,前后端联调更是重要的一环。但这一环却往往是整个开发中最繁琐也最累人的一环。任谁都想早点上班,然而晋升联调效率并不是个纯技术相干的问题,而是须要有良好工作流程的问题。
情谊提醒:(浏览前情简介仅需 1 分钟,干货局部大概 5 分钟)
前情简介:亲身经历节选
Code: 403 将我踢飞
彼时正处公司切换中台零碎的技术栈,以半个 sprint 周期为单位进行着业务模块的迁徙。每一个业务模块验证上线后就会下架 老爷车 中绝对应的局部并告诉员工基于新的中台零碎进行办公。彼时又恰逢数据库扩容和分库分表,接口流转偶有故障为日常开发削减了麻烦。在这个背景下,我过后负责 反馈倡议 模块的迁徙,也就是十分多的 type,status 以 Tag,Progress 和统计数据可视化 PieChart 的展示。
我洒脱的应用 Antd Protable 以及 AntV,并联合了 Swagger 文档以 2 个小时的工夫,定义好了各种 column 并满怀期待在控制台输出了
yarn dev
登录零碎,抉择子系统,进入页面。页面失常,控制台没有红色,惟一有余就是数据少于 10 条。无奈验证 分页 和 PieChart。这时我坐我对面的后端小哥示意,DEV 数据少,你去 UAT。
为了让产品经理验收时能看到各种数据的展示。
一番操作,难堪的事件呈现了,胜利进入零碎后却在点击页面时被踢了进去。
一瞬间,脑袋嗡嗡。思考着以下可能之一:跨域| 后盾角色权限没配置| 申请门路谬误 | 申请办法谬误 | 鉴权失败
后端小哥语录:
"我这边能够的,你再试试?"
"你是不是 Token 过期了"
"你把 raw 申请 发给我"
"你发一下你的账号"
最初的最初,原来后端小哥还没把 对应分支 推上去。
浓眉大眼的 Swagger 把我坑骗
文档 integer,理论 string。示意状态的 0|1|2,某次需要去掉了 2 剩下了 0| 1,但业务逻辑上却以 0 代表 1,1 代表 2。多年以来,一误再误之潜规则。数据库的数据长久以来用混了标识却没有备注,新人摸不着脑袋。不统一 / 还没实现 的 接口门路 / 数据结构,依据文档写好解析代码才发现,构造不对或短少字段。简而言之就是各种的 文档谬误 / 文档过期。
依据复杂度守恒原理,有没有更好的解决办法呢?最好是那种 鼠标点点 级别的。
工作提效的版本答案
“ 永远不要置信前端传过来的参数 ” 和 “ 永远不要置信后端的接口 ” 都被说烂了,就如同 ARMS 的警报 不断让人精力紧绷。
抛开各种无奈意料的事件,咱们是否先从能掌控的事件下手?譬如保障文档的 一致性 和 时效性,或者这本不该是个问题,但置信工作多年的程序员都 人情世故,懂的都懂。
然而 咱们是程序员!咱们应用 他人的 工具!
为什么是 Apifox
一款优良的产品应该合乎用户的直觉,当用户某次思考是否有某个性能(非个别业务场景)却又恰好被提供的时候,相对很能博得用户的青眼。Apifox 便是这么一款优良的提效工具。
Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化合作平台。
节俭研发团队的每一分钟!
先简略阐明应用 Apifox 的开发流程
设计接口 零配置的 Mock 服务。前端开发人员即可基于该 Mock 服务开发。后端实现该接口。
最值得称道的是,我的项目内接口是同步更改的,接口文档也是主动生成,齐全不入侵代码。这就意味着开发人员不会再遇见我已经的郁闷。至此,曾经满足了一个我的项目内能够胜利申请并保障 文档同步 和 数据结构同步 的 Mock 接口的奢侈欲望。前期任何改变亦变得轻松高效,几乎 鼠标点点。
横向比照 Postman,常见性能和应用习惯放弃了统一,还做了十分多的翻新,来晋升开发人员的效率。
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 文档可设置为公开或须要明码拜访,十分不便与内部团队合作。
体验地址
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 等数据格式,不便旧我的项目迁徙。
贴心为你
首次登陆时,Apifox 会默认提供一个 示例我的项目 进行体验,几乎就像
当我看到 API Hub,我就晓得当前开发我的项目想调用第三方 Api 时会有多不便。
写在最初
限于篇幅无奈介绍更多,心愿有趣味的小伙伴能够返回 Apifox 官网 亲自体验,相熟的 爱你的 VUE 格调
一名洒脱的程序员必然要懂得进步开发效率,这样能力保障产出之余腾出工夫 上班干饭 技术精进!
与诸君共勉!