发现一款功能比Postman + Swagger更强大的神器,强烈推荐给大家!

作为一位后端开发,我们平时经常需要维护API文档、对API接口进行调试、有时候还得Mock数据。Postman虽然作为接口调试工具非常好用,但是对于维护API文档这类工作却不太合适。今天给大家推荐一款功能更强大的工具Apifox,足以满足我们对API的各种需求,希望对大家有所帮助!

Apifox简介

Apifox 的定位是Postman + Swagger + Mock + JMeter,具有API文档管理、API调试、API Mock、API 自动化测试等功能。可以通过一种工具解决之前使用多种工具的数据同步问题。高效、及时、准确!

安装

  • Apifox的安装非常方便,直接下载安装包解压安装即可,下载地址:https://www.apifox.cn/
  • 官方非常贴心地提供了示例项目,直接打开即可体验Apifox的功能,看下界面还是很漂亮的;
  • 我们自己使用的话首先需要新建团队,便于团队成员之间协同工作;
  • 然后在团队中新建项目,新建成功后我们就可以开始使用Apifox的强大功能了!

API文档导入

Apifox的API文档导入功能非常强大,支持包括Swagger、Postman、YApi、ShowDoc等多达20种工具的导入。接下来我们通过使用之前mall-tiny-swagger项目中的接口,来体验下它的导入功能!

  • 首先我们选择新建接口按钮,选择导入;
  • 然后打开导入界面,选择Swagger->URL导入,输入Swagger的数据URL;
  • 导入时将显示导入预览,显示要导入的接口和数据模型,Apifox将会把我们接口返回的实体类转换为数据模型,以便进行复用;
  • 导入成功后界面效果如下,Apifox将查看文档和修改文档做了区分,方便我们管理接口文档。

接口管理

虽然从Swagger中导入的接口文档已经很详细了,但是为了体验Apifox更为强大的功能,我们有时候还是需要编辑下接口信息的。

接口设计

  • 看下Apifox的请求参数界面,非常详细!
  • 再看下Apifox返回结果界面,支持折叠,这个很多工具都是没有的;
  • 再看下Apifox的修改文档界面,支持添加状态、分组和标签。

接口调试

我们再来体验下Apifox的调试功能,比Postman更强大!

  • 在我们开发接口时,很多时候需要分不同的环境,Apifox默认给我们分了测试环境、正式环境、Mock服务,这三个基本也够用了;
  • 在调试接口之前,我们得先设置好环境所对应的前置URL,比如这里我们设置了测试环境的;
  • 在Apifox中我们可以使用接口用例来调试我们的接口,接口用例可以保存我们输入的参数,以便之后测试使用;
  • Apifox支持在接口调用前后做自定义操作,比如我们可以在后置操作中添加一个断言,返回结果中code等于200表示操作成功;
  • 此时我们输错密码来调用下接口,断言会直接提示我们结果和预期不符合;
  • 有些接口我们需要传入Authorization头才能访问;
  • 这种访问我们可以通过环境变量来实现,首先在登录接口中添加后置操作,选择提取变量,将返回的token提取到环境变量AUTH_TOKEN中;
  • 然后修改接口文档,在Header中设置需要传入Authorization头;
  • 接下来在接口用例中通过表达式使用Authorization头即可正常访问需要登录认证的接口了。

使用脚本

Apifox的自定义前置操作和后置操作非常强大,不仅支持简单的断言和提取变量,还能支持编写JS脚本。

  • 例如之前我们判断操作成功,断言code等于200可以使用脚本这样实现;
  • 此时我们输错密码来调用下接口,断言会直接提示我们结果和预期不符合。

Mock数据

在我们后端接口没有开发完成,前端开发需要数据时,往往可以通过Mock来提供数据,Apifox的Mock数据功能也是很强大的。

  • Apifox号称能根据你数据模型中的字段名称智能Mock,让我们来看看它的规则;
  • 其实默认的Mock规则有时候并不是很完善,比如我们来看下它Mock的数据;
  • 此时我们可以在数据模型中修改,可以让Mock的数据更加人性化一点,比如我们可以将各种状态设置为枚举类型;
  • 还可以将logo字段通过@image这种方式设置为图片类型;
  • 重新设置一下之后,人性化多了;
  • 接下来只需把环境改为Mock服务就可以调用Mock数据的接口了!

测试管理

Apifox不仅能支持接口调试,还支持创建测试用例进行批量测试以及性能测试。

  • 首先我们可以在测试管理中创建测试用例;
  • 之后选择从接口用例导入,选择好需要导入的接口用例;
  • 选择好运行环境后,点击运行进行批量测试;
  • 测试完成后即可显示测试报告;
  • 如果你想进行性能测试的话,在测试界面选择好线程数即可;
  • 测试完成后,可以通过导出报告来查看更为详细的报告信息。

主题设置

个人比较习惯暗色主题,Apifox也是可以选择亮色主题和主色的,直接在设置中可以进行切换。

总结

Apifox确实是一款界面漂亮、功能强大的API接口工具。Postman有的接口调试功能它基本都有,还集成了接口文档管理、数据Mock、自动化测试等功能,强烈建议大家尝试下!

参考资料

官方文档:https://www.apifox.cn/help/

项目源码地址

https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-swagger

来源:
https://mp.weixin.qq.com/s/C1KzalBualNSyGqdnT3KTA

作者:梦想de星空

</article>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容