API接口管理的痛点,解决思路及几种解决方案!

一、API管理的痛点

API接口在设计时往往需要编写大量的文档,而且编写完成之后还会经常改动,文档编写维护工作量大。

接口文档编写好后,实际的代码可能会与文档有出入,这个时候文档是不准确的,文档与代码保持修改同步也是一个很大的工作量。随着接口版本的迭代,接口文档需要同步更新。有些时候接口会成为对接双方的开发进度瓶颈,因为接口调用会有依赖,类似app的项目,前端会需要调用后端接口,接口功能不实现会影响前端开发进度。接口开发完以后,做接口测试不方便,特别是接口数量多,参数复杂的情况,测试工作量大。接口在版本迭代后,旧的接口常常需要做回归测试,这个工作量也是非常大的。

二、解决思路

API接口管理系统化或平台化,可以直接在可视化API管理界面上方便的维护接口。而且最好有版本管理和权限管理。可视化维护好的接口可以直接生成对应语言的代码,节省代码开发量。

代码有变更时,最好还可以与界面上的接口进行同步。API界面能够提供模拟接口实现方的调用功能,这样就能解耦接口调用方与服务方的强进度依赖,可以先按API接口的消费方基于接口管理系统或平台模拟调用,待服务方准备好后再真实调用。而且这里的模拟最好能做到自定义规则的模拟返回。接口实际开发完成后,可以根据接口管理系统或平台的可视化测试界面,直接进行接口的实际调用测试。

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

当然实际落到系统的话,除了上述的核心功能,还有些关联功能。

三、解决方案

API接口管理应该是大部分公司都会面临的一个管理问题,因此也有很多现成的轮子可以直接拿来用。

这里结合我使用的经验与找到的案例简单介绍下:

3.1 国内解决方案

EasyAPI

官网地址:https://www.easyapi.com/

这是一家国内的在线API管理平台,提供API管理、API测试、API监控、API文档管理的综合性API服务。在前面提到的解决思路上额外还提供了API监控的功能。另外平台在一定使用人数下提供免费服务。

eoLinker

官网地址:https://www.eolinker.com

这是一家国内的在线API管理平台,同时也提供开源精简版本。该平台提供的功能非常全面,除了代码生成与同步这个功能外,基本涵盖了前面提到的解决思路中的所有功能。

DOClever

官网地址:http://doclever.cn

这是国内一家在线API接口管理平台,完全开源免费;该平台的功能十分全面,也十分完善;拥有根据业务场景进行接口自动化测试、API管理、API文档管理、团队协作、版本快照与回滚、Mock无缝对接、状态码管理等;可以说是现阶段国内接口管理平台中功能做的最好最完善的一家;

RAP

官网地址:http://rapapi.org/org/index.do

这是阿里巴巴公司的团队做的一个开源的API管理系统,功能也还比较全面。除了没有代码生成与同步、自动化测试、状态码管理功能,解决思路中提到的功能基本都有。

CrapApi

官网地址:https://api.crap.cn/

这是国内的一个开源的API管理系统,提供了文档管理、项目/组织管理相关的功能,在测试管理与代码管理这块是缺失的。

3.2 国外解决方案

SwaggerHub

官网地址:https://swaggerhub.com/

这是国外的一个非常有名的基于Swagger的一个在线平台,提供了API全生命周期管理的工具集,基本涵盖了解决思路中提到的全部功能。Swagger是一个开源的设计与描述Rest API的框架,它有自定义的接口规范和很多非常实用的工具集,比如Swagger Editor可以用来设计接口,Swagger Codegen可以用来生成代码和测试桩,Swagger UI可以用来生成可视化接口文档等。

Apiary

官网地址:https://apiary.io/

这是Oracle公司收购的一家API管理的公司,也是一个在线的API管理平台,除了代码生成功能,基本提供了解决思路中提到的所有功能。它有自己定义的接口描述语言API Blueprint。

apigee官网地址:https://apistudio.io/这个也是一个基于Swagger的在线API管理平台,可以做接口管理、接口模拟测试。整体的功能相对比较简单。

3.3. 综合比较

由于上述的平台我没有全部深度使用过,所以就功能易用度不作评价,基于各平台的介绍与简单使用做下分析比较。从设计上来说,国外的Swagger和apiary都有统一的开源接口规范,这样就有了搭建生态的前提,然后创建对应的工具集就会非常实用有效。这里相比而言Swagger的生态又更加成熟些。从功能完备度或商业化程度上来说,国内的EasyAPI、eoLinker、DOClever、RAP,国外的Swagger、apiary都还不错;其中以DOClever、Swagger最为突出。综合比较下来,个人觉得Swagger是在API管理这方面做得最好的,商用的话eoLinker和EasyAPI都可以考虑,如果考虑到成本或者需要开源的系统,那DOClever系统不错。当然实际需求不同公司是千差万别的,最适合的才是最好的,至于哪个更适合就需要自己根据实际情况去比较了。

四、思路扩展

API接口管理还是很大的应用场景的,特别是移动端开发、前后端分离、微服务化的情况下。这方面不管是做开源、还是做商用版本,还是大有可为的。而对于开源版本,想做成生态定义个统一规范,再基于规范做工具集、集成平台就会非常利于发展,就像Swagger一样。另外还可以支持与其它接口关联的功能动态集成,这样功能就会越来越强大。

五、扩展介绍

API测试的工具

Postman

官网地址:https://www.getpostman.com

有Mac, Windows, Linux, and Chrome 各平台对应的软件,可以支持API接口的记录和测试。另外也支持接口的文档化与监控。

DOClever

官网地址:http://doclever.cn

可完全在线根据业务场景进行接口自动化测试,24小时定时轮询测试;

Soapui

官网地址:https://www.soapui.org/

自称是最好的REST & SOAP 测试工具,跟Swagger一样都是smartbear这个公司做的产品。可以支持做接口的功能测试、压力测试、安全测试、模拟测试。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,544评论 25 707
  • 一、API管理的痛点 API接口在设计时往往需要编写大量的文档,而且编写完成之后还会经常改动,文档编写维护工作量大...
    丘八老爷阅读 10,808评论 10 54
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,292评论 6 428
  • 谈到古时候的书院,不少人会感到好奇,那是什么?图书馆吗?其实,书院是封建社会后期一种重要的教育机构。书院也分为两...
    萌萌哒爱笑菇凉阅读 252评论 2 1
  • 本文参加#读经典好书写读书感悟#活动,本人承诺,文章内容为原创,且未在其他平台发表过。 作为中国第一部历史类章回体...
    山东建筑大学sjd阅读 268评论 0 0