资讯中心

API接口管理痛点解决方案大揭秘

互联网应用的普及率正在逐年上升而目前的发展趋势就是“开放”越来越多的产品走向开放,越来越多的站点自身的资源开放给开发者来调用。目前的网站不能靠限制用户离开来留住用户,开放的架构反而更增加了用户的粘性API调用使得站点之间的内容关联性更强,同时也为用户、开发者和中小网站带来了更大的价值。

 11.jpg

Web站点在为使用者带来价值的同时,更希望通过开放的API来让站点提供的服务拥有更大的用户群和服务访问数量。站点在推出基于开放API标准的产品和服务后,无需花费力气做大量的市场推广,只要提供的服务或应用出色易用,其他站点就会主动将开放API提供的服务整合到自己的应用之中。同时,这种整合API带来的服务应用往往具有意想不到的效果

比方说某区域站点接入赛合一数据”提供的话费充值API接口,全国三大运营商的话费都可充值,覆盖范围一下子从区域变到全国,这就解决了各省运营商需独立对接的尴尬局面。

 

当然,以上是API接口最终产生的效果,而作为让API实现这些功能的程序员,其实需要面对的难题很多。一般遇到的难题可以归结为以下几点:

 

首先,API接口在设计时往往需要编写大量的文档,而且编写完成之后还会经常改动,文档编写维护工作量大。接口文档编写好后,实际的代码可能会与文档有出入,这个时候文档是不准确的,文档与代码保持修改同步也是一个很大的工作量。

 

其次,随着接口版本的迭代,接口文档需要同步更新。有些时候接口会成为对接双方的开发进度瓶颈,因为接口调用会有依赖,类似app的项目,前端会需要调用后端接口,接口功能不实现会影响前端开发进度。

 

最后,接口开发完以后,做接口测试不方便,特别是接口数量多,参数复杂的情况,测试工作量大。接口在版本迭代后,旧的接口常常需要做回归测试,这个工作量也是非常大的。

 12.jpg

基于以上的痛点,通常我们会采用以下的解决思路

 

API接口管理系统化或平台化,可以直接在可视化API管理界面上方便的维护接口。而且最好有版本管理和权限管理。

可视化维护好的接口可以直接生成对应语言的代码,节省代码开发量。代码有变更时,最好还可以与界面上的接口进行同步。

API界面能够提供模拟接口实现方的调用功能,这样就能解耦接口调用方与服务方的强进度依赖,可以先按API接口的消费方基于接口管理系统或平台模拟调用,待服务方准备好后再真实调用。而且这里的模拟最好能做到自定义规则的模拟返回。

接口实际开发完成后,可以根据接口管理系统或平台的可视化测试界面,直接进行接口的实际调用测试。

接口平台能够支持自动化测试,可以自定义测试案例,然后自动化测试并生成可视化报告。这个功能在旧版本接口复测时非常有用。

 

当然实际落到系统的话,除了上述的核心功能,还有些关联功能,这里就先不细说了。总之,API接口管理应该是大部分公司都会面临的一个管理问题,因此如果发现有现成的轮子适合自己也是可以直接拿来用国外和国内的一般都有所差别,但根据经验综合比较下来,赛合一数据觉得国外的Swagger是在API管理这方面做得比较好的,当然实际需求不同公司是千差万别的,最适合的才是最好的,至于哪个更适合就需要自己根据实际情况去比较了。