热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于前端:postman的霸主地位动摇了

彼时正处公司切换中台零碎的技术栈,以半个sprint周期为单位进行着业务模块的迁徙。每一个业务模块验证上线后就会下架老爷车中绝对应的局部并告诉员工基于新的中台零碎进行办公。彼时又恰逢数据库扩容和分库分表,接口流转偶有故障为日常开发削减了麻烦。在这个背景下,我过后负责反馈倡议模块的迁徙,也就是十分多

作为一名前端,日常开发过程中除了写业务代码,前后端联调更是重要的一环。但这一环却往往是整个开发中最繁琐也最累人的一环。任谁都想早点上班,然而晋升联调效率并不是个纯技术相干的问题,而是须要有良好工作流程的问题。

情谊提醒:(浏览前情简介仅需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 主动校验数据结构

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 文档可设置为公开或须要明码拜访,十分不便与内部团队合作。

体验地址

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 格调

一名洒脱的程序员必然要懂得进步开发效率,这样能力保障产出之余腾出工夫 上班干饭 技术精进!

与诸君共勉!


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 二维条码二维码是用某种特定的几何图形按一定规律在平面分布的黑白相间的图形记录数据符号信息的在编码上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相 ... [详细]
  • php实现用户注册登录界面的方法:1、创建log.php登录主界面;2、设置register.php注册主界面;3、通过mysqli_connect连接数据库并进行相应的数据操作即可。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • SparkRDD宽窄依赖及Stage划分
    1.术语解释:Master(Standalone):资源管理的主节点(进程)ClusterManager:在集群上获取资源的外部服务(例如standalone,Mesos,Yarn ... [详细]
author-avatar
KJ慧兒H妹子Ed
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有