接口文档工具,Apifox竟然比swag

Apifox和Swagger哪个更好用?

最近Apifox这款国产API管理工具受到了一众研发人员好评,那么它和swagger相比有什么区别?Apifox和Swagger哪个好用?有没有必要把正在用的Swagger换成Apifox?这篇文章我将会对Swagger和Apifox的功能进行深度分析对比,看看哪款工具才是接口文档工具的王者。

1.「swagger的功能定位」

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

2.「Apifox的功能定位」

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

也就是说,它比swagger的的功能要更加广泛和齐全,不仅通过可视化界面设计接口生成接口文档和项目代码,

还打通了接口数据的协作流程,一套接口数据,设计出来可以给前端、测试使用,减少了再不同系统间切换、导入导出数据、更新维护的麻烦。

二.功能对比1.接口设计功能对比A.swagger的接口设计功能

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

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

B.Apifox的接口设计功能

Apifox来设计接口,通过可视化界面填写接口信息,不需要学一套专门的注解方法,只需要专注设计业务接口的规则和内容就可以,

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

它拥有项目/模块等不同层级的目录结构来存储接口文档,适合项目层级的接口文档编写开发。

单个接口的设计就是填写参数,然后保存。多个接口可以保存到一个文件夹下,不同的模块归类到不同的文件层级中。

2.生成的接口文档对比A.swagger的文档功能

生成的接口文档如下:接口的方法和路径、请求和响应参数都写了,但参数的呈现方式有点不够整洁。

另一个问题是,接口数据的展示和调试功能糅合到了一起,本来显示示例参数的地方,直接以空格代替,用于调试时填参数。

因此它看起来有点混乱的原因,文档不是文档,调试工具不是调试工具。

B.Apifox的文档功能

Apifox的接口文档颜值,功能支持上会比swaggerui丰富得多。

请求参数和响应参数都以表格的形式罗列出来,所属的数据类型还以不同颜色的字体高亮出来,是否必填,和示例值也清晰地展示出来,可读性比较高。

另外,在接口文档上也提供了额外的功能支持,可以生成接口的请求代码,也可以点击运行,对接口文档发起调试。

点击运行按钮,会对接口在线发起调试

3.调试api文档功能对比A.swagger的调试功能

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

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

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

B.Apifox的调试功能

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

Apifox的调试功能

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

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

Apifox的自定义脚本功能

另外它还支持响应的数据类型校验和请求参数使用动态值

4.生成代码功能对比A.swagger的生成代码功能

swaggereditor界面支持生成客户端或者服务器端代码,支持80多种框架和语言。

B.Apifox的生成代码功能

Apifox支持生成多种框架和语言,支持生成单独的接口请求代码,数据模型代码,和数据结构代码,支持生成整个项目级别的代码。而且还支持代码预览。在分享出来的文档中,也支持生成代码,复制到代码编辑器中使用。

5.导入导出接口功能对比A.swagger的导入导出功能

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

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

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

6.项目管理与团队协同A.swagger的协同功能

swagger的开源工具swaggereditor或者swaggerui等,只能支持单个接口文件的编辑处理,不支持项目级别的多个文件的储存、归档和处理。

swagger用于项目管理和协同级别的工具是swaggerhub,它是将以上几个开源工具整合到一起,并且提供了项目管理和团队协作的功能,但swaggerhub是付费软件,而且由于服务器在国外,响应速度非常缓慢,体验不佳。

B.Apifox的协同功能

Apifox支持项目数据共享,即一套接口,一套项目数据,后端可以用来调试,前端可以mock,测试可以做自动化,且数据的变更会在项目组内实时同步。支持权限管理,不同成员可设置只读和编辑功能。支持进度管理,接口的开发情况可实时查看,支持邀请其他成员加入项目组。除此之外,还支持接口以文档的形式分享给第三方。

Apifox的在线分享功能7.价格对比A.swagger的价格

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

B.Apifox的价格

Apifox的saas版本免费,而且没有任何功能限制,没有团队使用人数限制,只有私有化部署收费。对于常规保密级别的项目,SaaS版本其实已经够用了。

8.Apifox支持的其他功能

Apifox除了文档功能非常强大之外,还拥有swagger不具备的接口mock,接口调试,和团队协作功能,因此一个工具,就可以给前端、测试、后端使用。

接口mock功能内置智能引擎,免配置、免写脚本就可以mock出高度真实的业务数据;

接口自动化功能,能一键生成测试用例和测试套件,可视化进行接口断言和参数提取,一键运行并生成测试报告。

总结

Apifox的整体功能比swagger丰富,支持一整个团队的协作,而且免费。




转载请注明:http://www.aierlanlan.com/rzgz/4610.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了