近些年来,提到API相信大家并不感到陌生,尽管可能了解的不是很全面,但是也大概知道是做什么的。
提到API不得不提的就是接口文档,说到接口文档大家可能会感到有点陌生,因为平时只需要看懂个大概就可以了,但是对于刚接触的同学来说可能还是有点云雾缭绕的感觉,下面就给大家用一些常见的场景举例说明一下。
在日常工作中,运用接口文档最多的是前后端的同学,因为要遵守各自的规范流程,所有要提前订好一个规范和流程,目的在于和前端对接的时候不至于太混乱。在之前的工作中经常会发生前端和后端联调时候出现意见分歧的情况,一种情况是后端写的接口不规范,设置没有和前端统一一下就开始自己编写代码,最后的结果就导致了和前端对接的时候会出现请求的值和返回的值出现不一致,代码不严谨的看起来让人头疼的问题,前端一直在反馈,每次开会都会疯狂吐槽后端,所以说接口文档其实是前后端前提定义好的开发协议标准。
通过API文档驱动开发流程
最近和组内同事们沟通时,也听到一个观点:以“文档驱动”的一种协作模式,比如“先开发,再维护文档”和“口头确认沟通”的方式,达到产品质量和团队协作率相应都得到提高。
为 API 工作方式提供信息来源
API 文档是人类和机器共同可读的技术内容,用于解释某种特定场景下API 的工作原理及功能。可以起到一个双重验证的目的,为了最大效果化,API 文档可以起着 API 工作方式的一个真正信息来源的作用。工具需要支持结构化格式包含函数、参数、类等的详细信息,便于开发人员和非技术人员/用户正确理解。一般情况下,主要包括教程和示例,帮助用户更好地理解不同部分如何协同工作。
在了解了这种协作模式之后,项目组负责人找了一个工具,希望可以是文档的方式来推动工作,采用“文档驱动”的方式来降低或者代替无效沟通的成本。
什么是好的API 文档?
一个好的 API 文档,除了内容合理详细之外,它的样式和交互方式也要简单易用。现在的 API 文档基本基于网页来展现,利用网页的显示特性,有一些比较常见的设计方式。在这里推荐一些适合作为 API 文档展现要素的一些最佳实践。
许多流行的工具在线发布他们的 API 文档,以便第三方开发人员可以轻松访问它们。以下是这些文档如此有效的一些原因:在文档中提供了示例代码,以便用户可以看到API在实践中是如何工作的;
轻松找到常见问题的解决方案,以便忙碌的开发人员可以快速获得所需的内容;
不提供理解 API 及其工作方式之外的不必要信息。当用户忙于工作并遇到问题时,他们需要可用的文档,而不是无关的信息;
不需要设限知识水平;最简单的概念和最困难的概念一样得到充分解释格式良好。内容有条理且一致且易于阅读。这减少了希望学习或解决问题的用户的摩擦。
通过Eolink进行协作办公
使用Eolink过程中,大部分的协作工作几乎都是围绕着API接口文档来进行的,创建人通过创建API文档之后,有访问权限的人可以实时查看当前API的改动情况,通过API文档发起API测试,设计API test case,Mock API数据,对API进行自动化测试等。
参照链接:https://www.eolink.com/?utm_source=ceshiwo&utm_content=ceshiwo017
对 API 设置不同的状态
Eolinker将 API 的状态划分为以下几种,方便成员在查看 API 文档时了解 API 当前所处的
状态。
已发布:API 已发布,可正常使用
设计中:等待或正在设计 API
待确定:API 已设计完成,等待相关成员确定 API 的内容
开发:API 已确定内容,等待或正在开发
对接:API 已开发完成,等待或正在对接
测试:API 已对接完成,等待或正在测试
完成:API 已测试完成,等待发布
异常:API 出现异常,需要尽快排查
维护:API 维护或升级中
废弃:API 已废弃,不可正常使用
通过对API几种不同状态的维护,让组内成员可以随时track API当前的进度、状态、一目了然于API目前处于什么阶段以及完成的一个情况。
对文档工具的要求
想要一个工具来处理所有类型的文档是很自然的。考虑 API 文档通常需要与研发团队协作。将API文档硬塞进其他文档平台显然是不可以的。当研发团队处于版本控制中,比如 Git,所以即使是复制粘贴到 CMS 的手动过程也不可能完全实现。随着每次迭代对 API 进行更改,文档需要随着修改,生成 API 参考将确保避免许多潜在的麻烦。Eolink管理工具除了可以手动创建API外,还可使用快速导入功能为其创建API及其所需的文档。创建API后,系统会管理新版本,使每次更新迭代版本都了如指掌。
对API 文档的可维护性
对于API文档的可维护性应该保持像维护一个单独项目一样,使用Eolink工具每次以分支的形式进行更新,编辑人员在检查文档内容的正确性和简介之后,并由项目组成员进行review。当API文档发布后,后期维护也是同等的重要,主要体现在两个方面:New feature 和废弃功能;当发布新功能之前应该先发布文档,并保证文档通过了标准的review 流程。然而废弃掉的旧功能从文档中移除,并建议在对应的位置给出废弃功能提示和升级指南,确保使用旧功能的开发者进行升级工作
作为开发⼈员,有的时候我们可能很容易忽视这⼀点。但是根据知识的偏差,假设我们的API⽤户是程序员,他们知道我们所知道的,理解我们所理解的,但我们并不认为他们是最终⽤户或客户。要克服这种偏差,换位思考是设计好的API的关键思想。所以当你编写下⼀个API时,把⾃⼰放在客户的⾓度,想象你想要的是什么,这时候你可能需要一个可以管理API文档的工具,体现出API文档的可维护性的价值。
接口文档生成工具
国产接口测试和接口文档生成工具Eolink,可以帮助我们在开发完接口之后对接口进行测试,完善API文档后,当项目更新,API需要进行迭代优化,修改后的API文档可设置通知,提升信息的时效性的同时,让开发团队快速了解API修改内容或新功能。不同企业开发团队规模不同,其中还包含测试团队。为了能让不同角色操作不同项目,权限设置格外重要。这样可以确保API管理过程在开发阶段尽早开始,帮助处理在开发完成之前需要进行的测试和改进工作。
关于一些可用性建议
API管理目标:API的管理目标围绕着整个API 的生命周期,开发团队需要一个可靠的流程来对
API进行系统化的管理,这其中包括详细的API文档与API版本控制等。
版本控制和文档:出色的API管理工具除了可以手动创建API外,还可使用快速导入功能为其创建API及其所需的文档。创建API后,系统会管理新版本,使每次更新迭代版本都了如指掌。
消息通知:完善API文档后,当项目更新,API需要进行迭代优化,修改后的API文档可设置通知,提升信息的时效性的同时,让开发团队快速了解API修改内容或新功能。
API监控:API监控可以实时查看API的健康情况,包括不同节点的API,当项目发生错误,API监控可以帮助我们快速定位错误的API,节省了大量时间成本。
并不是每个项目或企业都需要API管理平台。但如果您需要一个API管理的解决方案,想让API管理更加规范并流程化,可以了解文中所展示的API管理平台。以上是对项目开发合作中写出友好的 API 文档的一些想法和建议,欢迎讨论。