深度分析,国产API工具Apifox和S

最近Apifox这款国产API管理工具受到了一众研发人员的好评,免费是其中一个缘由!但是一直使用着Swagger,Apifox比Swagger更好用吗?有必要更换软件吗!正所谓实践出真知,我将会对Swagger和Apifox的功能进行深度分析对比,这款国产API管理工具是否好用。

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

一、功能定位对比

(看看哪款工具才是接口文档工具的王者。)

1.swagger的功能定位

swagger是一款API文档工具,比较常用的是它的开源工具swaggerui,swaggereditor。swaggereditor接口设计、生成代码,swaggerui生成接口文档,可以分享给他人,在线查看接口文档。

2.Apifox的功能定位

Apifox定位:Apifox=Postman+Swagger+mock+Jmeter,是一款集API设计,接口文档管理、代码生成、API调试、APImock,API自动化为一体的接口一站式协作平台。

也就是说,它比swagger的的功能要更加广泛和齐全,不仅通过可视化界面设计接口生成接口文档和项目代码,还打通了接口数据的协作流程,一套接口数据,设计出来可以给前端、测试使用,减少了再不同系统间切换、导入导出数据、更新维护的麻烦。

这正是解决了整个开发过程中最繁琐也最累人的一环!

二.功能对比(接口设计功能对比)

API管理的痛点

API接口在设计时往往需要编写大量的文档,而且编写完成之后还会经常改动,文档编写维护工作量大。

接口文档编写好后,实际的代码可能会与文档有出入,这个时候文档是不准确的,文档与代码保持修改同步也是一个很大的工作量。随着接口版本的迭代,接口文档需要同步更新。有些时候接口会成为对接双方的开发进度瓶颈,因为接口调用会有依赖,类似app的项目,前端会需要调用后端接口,接口功能不实现会影响前端开发进度。接口开发完以后,做接口测试不方便,特别是接口数量多,参数复杂的情况,测试工作量大。接口在版本迭代后,旧的接口常常需要做回归测试,这个工作量也是非常大的。

swagger的接口设计功能

通过编写代码来生成API文档,需要记忆swagger的常用注解规则,右侧能实时预览生成的接口文档;

生成的接口文档里能够看出层级结构,但在左侧的编辑区却没有明显的目录层次,因此一般只能支持简单的单个接口文档的编写,复杂的项目会变得容易出错和难以维护。

Apifox的接口设计功能

使用Apifox来设计接口,完全是可视化界面,不需要学一套专门的注解方法,只需要专注设计业务接口的规则和内容就可以,

直接填写请求方法,路径,请求参数和响应参数、保存完毕就能生成一份接口文档。

它拥有项目/模块等不同层级的目录结构来存储接口文档,适合项目层级的接口文档编写开发。单个接口的设计就是填写参数,然后保存。多个接口可以保存到一个文件夹下,不同的模块归类到不同的文件层级中。

3.调试Api文档功能对比

调试Api文档的痛点

当我们使用了一些由别人实现的API接口时,该如何进行调试呢?当我们使用的API返回一些意想不到错误时,该怎么办呢?这个问题可能是由于用户输入或者API本身,或者其他完全无关的内容等引起的。调试是我们进行定位并修复由单个API调用或一系列调用引发的问题。通常,我们可以调试我们不能完全把握的代码,从而可以清晰地了解该部分代码。我们在使用API时,除了遇到意想不到的异常外,还有可能在解析输出或传递变量时出错。

swagger的调试功能

swaggerui提供了简单的调试功能,填写参数、点击按钮可以发起接口请求。

除此之外没有其他复杂的功能可以辅助调试,但实际中有很多复杂的调试需求,需要写调试脚本,连接数据库,写测试断言等,这里均无法支持。

因此大多数程序员如果使用swagger写文档,后期还需要将接口数据导入到其他调试工具调试。

Apifox的调试功能

Apifox在这个点我个人感觉创新是比较多的,它把Postman里需要写脚本的功能都封装成了可视化界面,直接通过填写参数的方式去调试。

可视化界面其实会大大降低操作的门槛,写脚本的话至少需要会一些js语言,而像现在这样填参数的方式,不会脚本语言也能调试。

不过,如果你想要做一些复杂的调试,它还是保留了脚本调试功能的。脚本调试支持第三方js类库,支持外部脚本和语言。

4.导入导出接口功能对比

swagger的导入导出功能

swagger支持导入符合openapi规范的接口数据文档。支持导出yaml或者json格式的数据。

Apifox的导入导出功能

Apifox导出项目如果想要将项目迁移到新的接口管理工具中,需要用到项目的整体导出功能。在Apifox中,支持导出swagger格式、html、md、apifox格式的项目数据,以供导入其他工具中使用。

2.Apifox导入项目Apifox支持项目无痛迁移到该软件,目前除了支持swagger、postman格式的,还支持多个国产的开源工具的数据格式,如RAP和yapi等。

5.价格对比

swagger的价格

swagger分为开源的swaggereditor和swaggerui,以及整合为一体的swaggerhub,swaggerhub的免费版本使用人数限制1人,只能添加3个APIs,不支持协同功能。付费版本价格见下表,还是非常高昂的价格:

Apifox的价格

从收费模式上看,Apifox是公网版本不收费,私有化部署收费。

总结,整体体验下来,类似Swagger的工具,只能说Apifox更全面,让我找到一个合适的技术工具提高我们的效率。可以让我们从文档书写和接口对接工作中解脱出来,更加专注于代码的书写和业务逻辑的梳理,被接口对接烦透了的你不妨尝试一下,你会发现它像一个保姆一样为你做了所有该做的事情。

6.其他功能

APIHub

作为一个coder,最终的就是进行分享,Apifox


转载请注明:http://www.aierlanlan.com/cyrz/3323.html