接口文档管理工具,选yapi 还是 Apifox? 这里列出了两款软件的深度分析,看完再下载不迟。

9,511 阅读7分钟

一、yapi 和Apifox

在国产软件接口管理软件中,Apifox 和 yapi 的口碑都挺不错的。 Apifox 是集成了 API 设计与文档,API 调试,API mock ,API 自动化测试 的一站式接口协作平台。

yapi 是去哪儿网开发的开源软件,支持管理 API 文档,测试, mock;

从功能定位上来说,两者几乎一致,不过具体的功能设计和使用体验,还是会不一样的,为了给大家在选择自己合适的接口管理工具的时候有个参考,我详细体验了下这两款工具,希望能给到大家有用的信息。

软件的选型,主要看你的具体需求是什么,这个软件是否有相应功能满足,以及,软件的信息架构设计,UI界面是否符合你的使用习惯。

因此,接下来的文章会按照相同的功能模块进行区分和对比。

部署安装

yapi 的部署和维护都比较费劲,部署一次花很久,而且下次重新启动可能又会报错。

说明yapi对于不同的系统和环境,适配性还是稍有欠缺,网上那么多部署和维护相关的求助帖子其实也能反应这个痛点——部署麻烦、上手困难。

apifox 支持Linux 和 Windows、Mac等环境,还提供了web 版本,安装部署和普通软件一致,安装注册后就能够使用,几乎没有什么学习成本。

二、整体功能对比

1.数据导入导出功能

A.yapi 数据导入

支持 HAR,Swagger,json,postman 4种格式

B.Apifox 的数据导入

Apifox 支持导入的数据格式更多一些,一些小众的接口软件工具的数据也支持迁移。

Apifox 对导入的接口数据会有进一步处理,如将实体类生成数据模型,接口数据中携带的环境信息也能导入,支持多种接口覆盖模式,支持导入到不同分组。

2.接口创建文档页面

A.yapi 的接口文档页面

yapi 和 Apifox 的接口都是以结构化形式呈现每个接口的请求 和响应参数

接口列表页面

接口列表页面

B.Apifox 的接口文档页面

Apifox 里接口文档处还列了已有的mock期望列表,并将项目里的数据模型,接口附加信息等数据也一同呈现在接口文档中。

接口列表页面

接口列表页面

这点两个软件其实没有特别大的差别,Apifox 的UI界面采用侧边栏显示接口列表和分组的形式,切换便捷,而且UI界面会更加美观一些。

Apifox 在这块做得比较好的是,他支持生成在线接口文档分享给第三方,也支持生成接口代码

a.生成在线接口文档

一键导出接口文档,支持只分享部分接口文档,设置过期时间,设置密码

可以复制链接到浏览器查看生成的在线文档:

www.apifox.cn/apidoc/shar…

b.支持生成代码

支持的代码种类也蛮多的,包括前后端常用的各种语言和框架,总共有130多种,javascript和swift,java等等生成的代码复制就能用。

3.接口调试

A.yapi的调试功能

由于收到chrome 安全策略限制,如果想要在yapi 中查看接口请求返回的数据,需要使用chrome自带的网络调试工具去查看

这大大削弱了 yapi 本身的功能,给调试带来了很大的不方便。因此 yapi 的开发团队似乎也没有宣传 yapi 有调试这个功能。

B.Apifox 的调试功能

Apifox 采用了不同的技术实现方案,因此不会遇到yapi那样的问题。 并且对断言,变量提取等功能做了可视化的封装,可以直接通过填写参数的方式去调试,并增加了连接数据库的辅助功能。 Apifox的可视化调试界面 并且保留了自定义脚本调试的功能,而且支持调用外部语言和函数。 Apifox的调试功能

从接口设计-->文档编写-->调试在一个工具里面一步到位,不用切换系统,在效率上还是能得到提高的。

4.接口mock功能

A.yapi 和 Apifox mock功能相同的地方

yapi 和 Apifox 的 mock 工具基础功能基本相同,比如说,都支持在响应数据模块勾选该参数的mock 规则来生成 mock 响应数据,而无须用户自己编写响应的json数据;

以及都支持对响应的mock 数据设置数据范围约束,都支持设置mock期望和mock脚本。

Apifox mock出来的数据

Apifox mock出来的数据

yapi的数据期望功能

yapi的数据期望功能

B.yapi 和 Apifox mock 功能不同的地方

a.apifox 提供了 mock数据预览功能

apifox 可以在客户端内发送 mock 请求,返回模拟响应数据会显示在客户端上,供用户即时调整,比常规的需要复制 mock地址到前端页面才能显示数据会更加好一点。

b.apifox 提供了云端mock功能

Apifox 提供了云端 mock的功能,也就是说无论你在什么地方,都能使用mock 服务来构造出数据,这个功能会类似于一个“虚拟服务器”,对想要做前端项目,不会配置服务器的童鞋来说十分好用。

5.接口测试功能

A.yapi 的测试功能

yapi的测试用例支持从接口导入,请求参数通过mock功能来随机生成; 解决接口依赖,依赖接口的参数可以通过使用变量参数来调用前面返回的响应数据,编写断言脚本,支持集成到jekkins

B. Apifox的测试功能

Apifox它是可以直接在接口文档那里修改测试参数,保存为用例的,也就是说,测试用例不用自己写,它自己就能生成了。

然后再在自动化测试里直接导入这些用例,根据业务场景里的执行顺序排序,调整好参数传递,设置好断言,点击运行就行。

Apifox的测试界面

Apifox的测试界面

就没有什么上手门槛,没什么学习成本,不需要会写脚本。

6.数据同步与项目管理

A.yapi 的项目管理

yapi 支持创建多个项目,支持对项目做基础的项目配置

B.Apifox 的项目管理

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

Apifox的在线分享功能

Apifox的在线分享功能

8.UI

yapi 整体的界面偏素,软件的信息架构也很简单。

apifox 的主题和背景配色会丰富些。

9.价格和服务

yapi 和 apifox saas 版本是是免费的。

服务维护

  1. yapi yapi 由于是开源的,团队投入到它上面的迭代优化功能和维护都会有所欠缺,GitHub上面的issue也很久没更新了。

对于各种环境适配,用户答疑协助,功能优化,help 文档更新当然也会很少或者没有。

毕竟是为爱发电,业余花时间做的,已经很不容易了,还是要给yapi 团队点赞的。

  1. apifox apifox 是商业化产品,无论是功能设计还是界面使用体验,都有专业的人员不断探索迭代优化,因此功能增强和优化的速度很快。

Apifox 每个月有2次版本更新,分为功能更新和协作优化。

Apifox 官方还建了用户群来处理用户遇到的问题和反馈,对于使用过程中的疑问和建议,在群里提问,他们的工作人员都挺热心出来解答的。

另外,bug的解决还比较及时,有些功能呼声比较高的,直接就被加入需求排期,着手研发了。

工具下载

yapi pro 安装注册地址:yapi.pro/

apifox 官网下载地址: www.apifox.cn/a1foxyapi