一、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
官网地点:
这是国内一家在线API接口打点平台,完全开源免费;该平台的成果十分全面,也十分完善;拥有按照业务场景进行接口自动化测试、API打点、API文档打点、团队协作、版本快照与回滚、Mock无缝对接、状态码打点等;可以说是现阶段国内接口打点平台中成果做的最好最完善的一家;
RAP
官网地点:
这是阿里巴巴公司的团队做的一个开源的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. 综合对照