首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

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

图片来自互联网

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

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

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

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

图片来自互联网

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

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

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

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

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

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180707A1D1YV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券