龙空技术网

【技术】Apifox——极度契合公司私有化部署的管理接口工具

程序狗乐园 273

前言:

现时你们对“java开发api接口”大概比较关注,咱们都想要知道一些“java开发api接口”的相关知识。那么小编也在网上搜集了一些关于“java开发api接口””的相关文章,希望咱们能喜欢,小伙伴们一起来了解一下吧!

作为后台开发人员,你需要安装postman模拟调用测试接口,需要安装jmeter进行压测估算软件性能,需要使用swagger被迫使用注解生成接口文档;

作为前台开发人员,你需要yapi展示接口信息设置mock数据,你需要同事提供接口文档并及时维护;

你的笔记本或者开发机已经被各种开发软件占据了大量空间,现在你的还得记住并安装大量的测试支持软件辅助开发,痛苦。

小编是国内金融业内某技术公司数字化转型方向首席架构师,对于接口管理方面有以下需求:

1、统一公司内部服务接口展示;

2、前端提供统一的接口调用mock解决方案,提供远程中心mock方案;

3、介于公司内部后端开发使用springboot框架,统一使用idea作为开发工具,为了简化开发撰写接口文档,提供简单统一的方式生成接口文档,构件接口中心;

4、百人团队使用,产品价格不能太高;

5、接口查询和mock具备数据权限管控,支持小团队的隔离管控;

经过前期充分调研,对比了国内外各知名产品,最终选购了Apifox作为企业接口管理一体化的方案。Apifox能够较好的满足以上需求,并且由于其国产化的特点,可以作为国产信创产品备案,符合国家政策引导方向,满足公司的采购要求(这点在国企技术单位还挺重要)。

下面简要的介绍Apifox(本地化部署版本)在安装使用中给我的感受。

一、安装

Apifox本地化部署非常简单,只要你有了基础的docker环境,引入三个镜像(redis、mysql、apifox-ee),开启部分配置即可安装使用,由于非免费版,这里不便给出安装细节。由于这类工具使用单机版即可满足需要,只需要编写docker-compose文件,顺便把数据持久化避免丢失,一小时内即可搞定。

客户端可以选择桌面版安装(支持Linux、windows版本),也可以选择开启网页版使用。

二、IDEA plugin 操作

后端开发人员真的真的很需要,原先通过maven插件使用swagger的经历实在是很痛苦,用过的小伙伴都知道swagger的配置注解写起来挺头疼的,而且支持的参数注解会破坏部分企业指定的注释编写规范(如果不想重复写两遍注释的话)。本身swagger的注解支持也有一些使用方面的问题,小编本人也在github上为swagger贡献了几行补丁代码。转换为Apifox后,直接使用java doc的方式为接口写注释,为接口识别出的数据模型写注释,相当于无侵入、无感知、透明地帮助我完成了代码到接口的导出,体感非常良好。

在IDEA社区下载ApifoxUploader后,简单配置下,在已有项目中选定包含待上传的controller文件夹,点击按钮即可一键上传,使用起来真的很便利,很爽。

三、基础功能支持度

Apifox提供正反面两条途径管理接口。

第一是无服务先在Apifox上编写目标接口(类似TDD的开发模式),先写好接口,写好高级mock的数据场景,再由Apifox的工具提供代码生成;

第二是先编写代码,使用上文提到的IDEA插件使用,生成API文档再进行mock数据生成或在测试环境进行压测等操作。

个人较为偏向第二种传统的使用方式。

Apifox的mock配置整体上与Yapi一致,所有功能都有,Apifox也提供了环境管理的机制,可以保存多个真实环境的地址。

Apifox提供基础的导入导出机制,可以使用Apifox自己定义的格式也可以导出成md、json等常规格式跨工具使用。

Apifox可以添加自动化测试,可以使用类似jmeter的压测功能。

四、售后

这个点也得提一下,国产软件很多人抱怨功能杂,抄同类型的国外软件都超不好,卡,体验差。的确,Apifox也是个缝合怪,但在API接口管理这个领域,我个人是挺赞成功能集成的,文档管理和接口mock数据管理一体化,避免各个工具独立使用的困难,避免了费心费力挑选匹配工具的过程。目前使用中没有遇到过于卡顿的问题。

Apifox的售后团队(企业微信号)真的挺好,在前期试用的几个月内能够快速(1小时内)响应我的任何问题,能够听取我的改进意见并且提出解决方案。我相信今后的使用中,甚至能够为了我的团队提供一些简单的定制化需求。并且相对来说,价格适中,比较适合中型团队统一管理需要。

最后说下缺点:

1、很明显的缺点:功能太多导致许多设置入口和功能隐藏较深,需要仔细阅读相应文档才能使用;

2、接口管理缺乏项目级的版本控制功能,据说在2.2.18版本提供了接口级的历史查看和回滚功能;

3、客户端的项目切换方式比较怪异(仅个人观点),项目和团队容易混淆;

总的来说,Apifox(本地部署方式)是非常符合中小型团队一体化接口管控的需要的,而且切合软件本土化的政策趋势,相信未来该产品会越变越好,推荐具有以下特点的团队使用:

1、团队规模:20~100人,采购预算不是十分充裕

2、比较适合初创团队,或开始新一轮迭代的团队

3、敏态开发模式,对接口文档无需过分沉淀

4、有部分个性化需求,需要独立沟通

5、有国产软件采购需求

标签: #java开发api接口