最强Swagger替代品,国产软件Apifox到底有多牛?

简介: Apifox 的整体功能比 swagger 丰富,支持一整个团队的协作,而且免费国产软件。类似swagger的工具,只能说Apifox更全面,让我找到一个合适的技术工具提高我们的效率。

网络异常,图片无法展示
|

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

网络异常,图片无法展示
|

网络异常,图片无法展示
|

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

一、功能定位对比

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

1.swagger 的功能定位

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

2.Apifox 的功能定位

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

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

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

网络异常,图片无法展示
|

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

API管理的痛点

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

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

swagger的接口设计功能

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

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

网络异常,图片无法展示
|

Apifox的接口设计功能

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

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

网络异常,图片无法展示
|

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

网络异常,图片无法展示
|

3.调试Api文档功能对比

调试Api文档的痛点

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

swagger的调试功能

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

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

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

网络异常,图片无法展示
|

Apifox的调试功能

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

网络异常,图片无法展示
|

网络异常,图片无法展示
|

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

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

网络异常,图片无法展示
|

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

swagger 的导入导出功能

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

Apifox 的导入导出功能

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

网络异常,图片无法展示
|

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

网络异常,图片无法展示
|

5. 价格对比

swagger 的价格

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

网络异常,图片无法展示
|

Apifox 的价格

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

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

6.其他功能

API Hub

作为一个coder,最终的就是进行分享,Apifox官网的API Hub可以让我们方便的查看别人的项目进行学习,同时如果我们做了一份自认为完美的文档也可以进行分享,分享才能使我们更加的强大。可以增强我们的输出能力。

7.总结

Apifox 的整体功能比 swagger 丰富,支持一整个团队的协作,而且免费国产软件。类似swagger的工具,只能说Apifox更全面,让我找到一个合适的技术工具提高我们的效率。Apifox比Swagger更好用吗?这个问题大家都心里有数吧!

官网:https://www.apifox.cn/

相关文章
|
JSON 前端开发 数据可视化
最强Postman替代品,国产软件Apifox到底有对牛?
作为软件开发从业者,API 调试是必不可少的一项技能,在这方面 Postman 做的非常出色。但是在整个软件开发过程中,API 调试只是其中的一部分,还有很多事情 Postman 无法完成,或者无法高效完成,比如:API 文档定义、API Mock、API 自动化测试等等。Apifox 就是为了解决这个问题而生的。
|
2月前
阿萨学工具:Apifox 用Mock.js写高级Mock的期望
阿萨学工具:Apifox 用Mock.js写高级Mock的期望
|
2月前
|
测试技术 API
阿萨学工具:初识Apifox
阿萨学工具:初识Apifox
|
2月前
|
存储 JSON 测试技术
阿萨学工具: 你会用Apifox写断言吗?
阿萨学工具: 你会用Apifox写断言吗?
103 0
|
数据可视化 JavaScript 前端开发
API工具--Apifox和Postman对比(区别)
Postman和Apifox有什么区别?他们之间分别有什么优势,感兴趣的同学可以继续往下看。 不吹不黑,只列功能,纯客观比对。
API工具--Apifox和Postman对比(区别)
|
2月前
|
测试技术 API
阿萨学工具:用Apifox 发送接口请求
阿萨学工具:用Apifox 发送接口请求
|
2月前
|
前端开发
阿萨学工具:Apifox的高级Mock 功能
阿萨学工具:Apifox的高级Mock 功能
|
2月前
阿萨学工具: Apifox 的自定义智能Mock功能
阿萨学工具: Apifox 的自定义智能Mock功能
|
XML JSON 前端开发
阿萨学工具:Apifox 用Mock.js写高级Mock的期望
大家好,我是阿萨。今天周一,又是元气满满地一天。今天继续学习Apifox工具。继上周学完阿萨学工具:Apifox的高级Mock 功能。今天我们学习下如何使用Apifox的Mock.js 和nunjucks写高级Mock里的返回值。
267 0
阿萨学工具:Apifox 用Mock.js写高级Mock的期望