在国产软件接口管理软件中,Apifox 和 yapi 口碑都挺不错的。从功能定位上来说,两者几乎一致,不过具体的功能设计和使用体验,还是会不一样的,为了给大家在选择自己合适的接口管理工具的时候有个参考,我详细体验了下这两款工具,希望能给到大家有用的信息。
yapi pro 官方:https://yapi.pro/
apifox 官方: https://www.apifox.cn/
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.生成在线接口文档
一键导出接口文档,支持只分享部分接口文档,设置过期时间,设置密码
可以复制链接到浏览器查看生成的在线文档:
https://www.apifox.cn/apidoc/shared-cbb5c14c-0faa-4b4d-9f6e-7027cd57c702/api-21636796
b.支持生成代码
支持的代码种类也蛮多的,包括前后端常用的各种语言和框架,总共有130多种,javascript和swift,java等等生成的代码复制就能用。
3.接口调试
A.yapi的调试功能
由于收到chrome 安全策略限制,如果想要在yapi 中查看接口请求返回的数据,需要使用chrome自带的网络调试工具去查看
这大大削弱了 yapi 本身的功能,给调试带来了很大的不方便。因此 yapi 的开发团队似乎也没有宣传 yapi 有调试这个功能。
B.Apifox 的调试功能
Apifox 采用了不同的技术实现方案,因此不会遇到yapi那样的问题。 并且对断言,变量提取等功能做了可视化的封装,可以直接通过填写参数的方式去调试,并增加了连接数据库的辅助功能。
并且保留了自定义脚本调试的功能,而且支持调用外部语言和函数。
从接口设计-->文档编写-->调试在一个工具里面一步到位,不用切换系统,在效率上还是能得到提高的。
4.接口mock功能
A.yapi 和 Apifox mock功能相同的地方
yapi 和 Apifox 的 mock 工具基础功能基本相同,比如说,都支持在响应数据模块勾选该参数的mock 规则来生成 mock 响应数据,而无须用户自己编写响应的json数据;
以及都支持对响应的mock 数据设置数据范围约束,都支持设置mock期望和mock脚本。
Apifox mock出来的数据
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的测试界面
就没有什么上手门槛,没什么学习成本,不需要会写脚本。
6.数据同步与项目管理
A.yapi 的项目管理
yapi 支持创建多个项目,支持对项目做基础的项目配置
B.Apifox 的项目管理
Apifox支持项目数据共享,即一套接口,一套项目数据,后端可以用来调试,前端可以mock,测试可以做自动化,且数据的变更会在项目组内实时同步。 支持权限管理,不同成员可设置只读和编辑功能。支持进度管理,接口的开发情况可实时查看,支持邀请其他成员加入项目组。 除此之外,还支持接口以文档的形式分享给第三方。
Apifox的在线分享功能
8.UI
yapi 整体的界面偏素,软件的信息架构也很简单。
apifox 的主题和背景配色会丰富些。
9.价格和服务
yapi 和 apifox saas 版本是是免费的。
服务维护
- yapi yapi 由于是开源的,团队投入到它上面的迭代优化功能和维护都会有所欠缺,GitHub上面的issue也很久没更新了。
对于各种环境适配,用户答疑协助,功能优化,help 文档更新当然也会很少或者没有。
毕竟是为爱发电,业余花时间做的,已经很不容易了,还是要给yapi 团队点赞的。
- apifox apifox 是商业化产品,无论是功能设计还是界面使用体验,都有专业的人员不断探索迭代优化,因此功能增强和优化的速度很快。
Apifox 每个月有2次版本更新,分为功能更新和协作优化。
Apifox 官方还建了用户群来处理用户遇到的问题和反馈,对于使用过程中的疑问和建议,在群里提问,他们的工作人员都挺热心出来解答的。
另外,bug的解决还比较及时,有些功能呼声比较高的,直接就被加入需求排期,着手研发了。
工具下载
yapi pro 安装注册地址:https://yapi.pro/
apifox 官网下载地址: https://www.apifox.cn/a1BOb111