强大的开源API接口可视化管理平台-YApi
API 管理这个话题近些年听到的频次越来越多,这本质上是个 web 领域的发展有关,也和开发协作方式有关--前后端分离代替了全栈工程师 hold all 的局面,强调的更多的是 API 复用、分工和协作细化。API 管理的重要性不言而喻,每家公司随着业务的发展,多多少少都会涉及到;从开源社区的产品到国内各类商业化产品,可以看到大家对于 API 管理是越来越重视的。
为什么需要管理 API?
结合自身的开发经历,我们先讨论下,为什么需要管理 API
1、在实习的时候是在一家小的游戏公司,人不多,一个产品;当时技术经理的安排是一个后端+一个前端的组合开发,大家都在一个办公室,接口 API 交付依赖的是“讲一声”;这种形式减少了接口定义、审核以及一些文档的编写,面向指定接口的一对一交付;其实这个过程很顺利,还可以培养同事之间的关系;直到有一天,我对接的前端同事离职了,来了一个新的伙伴,然后我们也刚好要产品升级;每当我改一个接口,前端同学或者测试同学就说,接口不行了。后来我也走了,换了新的后端,“口口相传” API 就断代了。
2、第二个 case 是做一个 web 项目(应用元数据管理),前后端分离的;我们是先定义有哪些接口,然后再定义参数、返回结果以及这个字段的含义;是面向文档交付的;每个接口开发完之后发布到测试环境,然后他去编写前端接口调用测试;这种耦合度非常高,前端的节奏受制于后端的节奏。
3、前面两种面向的都是一个端,再到后来,开始做基础平台,面向的有 web、app(安卓、IOS),各种三方,我们使用了开源社区的 Yapi 做了私有化部署,能够基本满足日常的需求(也比较痛苦,后面会提到)。
API 管理带来的好处
从前一节的 case 来看,API 管理的过程是在逐步完善的,从以工程师视角管理到更规范化的基于管理工具的管理;“口口相传”会随着工程师的更替而逐渐失去管控,直到无法追溯;基于文档的管理,从实际情况来看,两次变更之后就会慢慢的弱化文档的地位(改一次接口,就得改一次文档),取而代之的还是工程师主导;还有一点是,不管是基于“口头协定”还是文档,接口在没有交付之前是不具备可测试性的,而且面向的主体单一,一旦使用端的数量多了,资源分散和协调的人力成本将指数级增长。
API 管理不仅仅是提高技术能力,而是帮助推动业务更上一层楼,好的 API 管理可以带给我们的收益是非常大的。
【敏捷开发和快速业务支撑】:协助我们能够快速的创建、共享、监控和调整 API,不需要额外的协同沟通成本而导致生产力下降。
【工作流程自动化】:可以从 coding 到 CI 再到 API 管理工作实现自动化同步,绕过繁琐的 API 设计、审核、测试沟通等等;与现有的基础设施绑定起来,提高效率。
【维护数据完整性和安全性】:不会随着人员变动而导致 API 数据丢失,API 的变更可以通过管理平台的 log 逐一追溯。
前后端分离的开发模式是一种趋势,但如果缺少好的开发工具跟管理模式,会使得前后端开发人员相互等待,扯皮等问题。从而影响项目的交付进度。
通过实践摸索,YAPI是一款很适合前后端分离开发的协助API工具。它以项目为维度,可以同步swagger接口,支持mock接口,支持内网部署,可以在需求设计阶段,设计好前后端交互接口协议,mock数据。使得前后端人员不需要相互等待就可各自按约定好的接口协议进行开发。
YAPI简介
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。本文将带领大家搭建YApi接口平台。
YAPI特点
YApi是一款开源的API文档管理平台,可以帮助开发人员快速创建、发布、测试和调试API。其特点主要体现在以下几个方面:
开源免费:YApi遵循MIT开源协议,可以免费使用和定制。
可视化界面:YApi提供了友好的可视化界面,让用户能够轻松地创建和编辑API文档,同时还支持在线测试API。
丰富的功能:除了基本的文档管理功能,YApi还支持动态生成API文档、支持团队协作、支持Markdown语法等。
广泛的适用场景:YApi适用于任何需要管理API的场景,如Web应用、移动应用、微服务等。
高效易用:YApi采用了前后端分离的架构,支持快速部署和使用。
YAPI应用场景
后端接口测试 - 对于需要OAuth2认证的接口,开发者可以直接在YAPI中进行测试,避免了在真实环境中频繁切换身份验证状态带来的困扰。
协作效率提升 - 前后端协作时,前端可以通过查看API文档直接获取带有Token的示例请求,减少沟通成本。
自动化测试 - 配合YAPI的自动化测试功能,可以实现OAuth2接口的自动化回归测试。
YAPI部署搭建
YApi是一个高效、易用、功能强大的API管理平台,开源支持内网搭建,是公司搭建自己的接口管理平台的最佳选择。
传统搭建方法需要准备nodejs、mongoDB,也不是很麻烦,大概一个小时就能搞定。但是之前我们已经介绍过了Docker,官方DockerHub上还真有相应的镜像仓库,而且我们公司的硬件资源全部已经容器化,所以使用容器来部署内网的YApi最为合适了。整个过程只要10分钟就能完成了。
一、数据库的准备
YApi使用的是MongoDB,因此我们需要先准备好数据库。
这里强调的是一定要使用数据卷挂载,即使容器不小心被别人删除了,我们也能轻易恢复已经存在的项目接口信息。
然后我们需要创建好YApi使用的数据库,并新建一个给YApi应用使用的数据库账号。
如此,数据库的配置就完成了。
二、YApi配置
YApi的主要配置都在config.json中,配置的内容也比较简单。
同样的,我们需要使用数据卷,将YApi的配置进行备份。
我们可以查看下容器的启动日志,确保配置成功。
如上日志说明配置成功,但是账户密码并不是日志中打印的那个,下面会说。
此时就完成了YApi应用需要的数据库集合的初始化操作。
三、YApi安装
此时就可以执行最后一步安装YApi的应用了。
docker run -d --name yapi-app --restart always --net mynet -p 3000:3000 -v E:docker-volumeyapiyapiconfig.json:/yapi/config.json yapipro/yapi server/app.js
查看启动日志内容如下:
提示使用http://127.0.0.1:3000/访问,就可以发现成功了,使用默认密码yapi.pro就可以登录管理员账户了。
结语
在团队实际使用过程中,执行力是关键因素,研发经理要保证前后端研发工程师确实认真配置了测试用例,在代码有变化时,测试用例需要一起变化。
这个习惯的养成很重要,初期很不容易,研发经理要进行督促。
在坚持一段时间,团队每个人都在单元测试中获益后,就可以成良好的循环,软件质量一定会上一个台阶。
什么值得买不买
校验提示文案
colordog
校验提示文案
远处传来穆迪
校验提示文案
远处传来穆迪
校验提示文案
什么值得买不买
校验提示文案
colordog
校验提示文案