取代 Postman + Swagger!这款神器功能更强大,界面更炫酷

简介: 作为一位后端开发,我们平时经常需要维护API文档、对API接口进行调试、有时候还得Mock数据。Postman虽然作为接口调试工具非常好用,但是对于维护API文档这类工作却不太合适。今天给大家推荐一款功能更强大的工具Apifox,足以满足我们对API的各种需求,希望对大家有所帮助!Apifox简介Apifox 的定位是Postman + Swagger + Mock + JMeter,具有API文档管理、API调试、API Mock、API 自动化测试等功能。可以通过一种工具解决之前使用多种工具的数据同步问题。高效、及时、准确!

作为一位后端开发,我们平时经常需要维护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

相关文章
操作系统基础:进程同步【下】
操作系统基础:进程同步【下】
|
11月前
|
安全 Java API
【JavaEE】——CAS指令和ABA问题
CAS指令,伪代码,原子类,CAS中ABA问题,CAS底层分析
|
12月前
|
负载均衡 Java API
项目中用的网关Gateway及SpringCloud
Spring Cloud Gateway 是一个功能强大、灵活易用的API网关解决方案。通过配置路由、过滤器、熔断器和限流等功能,可以有效地管理和保护微服务。本文详细介绍了Spring Cloud Gateway的基本概念、配置方法和实际应用,希望能帮助开发者更好地理解和使用这一工具。通过合理使用Spring Cloud Gateway,可以显著提升微服务架构的健壮性和可维护性。
649 0
|
域名解析 网络协议 安全
阿里云牵头在浙江省IPv6规模化部署和下一代互联网创新实验室发布多个项目
阿里云牵头在浙江省IPv6规模化部署和下一代互联网创新实验室发布多个项目
阿里云牵头在浙江省IPv6规模化部署和下一代互联网创新实验室发布多个项目
|
安全 网络协议 网络安全
【HTTPS】对称加密和非对称加密
【HTTPS】对称加密和非对称加密
244 0
|
数据库 开发者 Windows
QT 项目视图(QListView&QTreeView&QTableView)和项目部件(QListWidget&QTreeWidget&QTableWidget)详解-2
QT 项目视图(QListView&QTreeView&QTableView)和项目部件(QListWidget&QTreeWidget&QTableWidget)详解
|
存储 缓存 Linux
【linux基础I/O(二)】文件系统讲解以及文件缓冲区的概念
【linux基础I/O(二)】文件系统讲解以及文件缓冲区的概念
|
前端开发 JavaScript 物联网
React组件库Concis | 组件突破50+,移动端concis起步,新增英语文档,持续更新中...
对于不熟悉这个项目的小伙伴们做个简单的介绍,Concis是一个基于React+TypeScript开发的一款轻量级组件库,全面拥抱React生态,支持React新特性(hooks/redux)追求轻量的组件体积,简单的使用方式,最小的思维负担。
116 1
React组件库Concis | 组件突破50+,移动端concis起步,新增英语文档,持续更新中...
|
Java 中间件 C++
细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅
王晶昱花名沈询,阿里高级专家,来自阿里巴巴中间件和稳定性平台。目前主要负责阿里的分布式数据库DRDS(TDDL)和阿里的分布式消息服务ONS(RocketMQ/Notify)两个系统
1695 69
|
Shell 分布式数据库 API
《CDP企业数据云平台从入门到实践》——HBase 迁移到 CDP(2)
《CDP企业数据云平台从入门到实践》——HBase 迁移到 CDP(2)
305 0