接口文档是描述如何与软件系统中的特定接口进行交互的文档,通常包含接口的名称、描述、请求和响应的格式、参数、返回值、错误码、调用示例等信息。它是开发人员在设计和开发软件系统时必不可少的参考资料。
日常工作中,运用接口文档最多的是前后端的同学,因为要遵守各自的规范流程,所有要提前订好一个规范和流程,目的在于和前端对接的时候不至于太混乱。
举个例子:在对接过程中,经常会发生前端和后端联调时候出现意见分歧。如果后端写的接口不规范,设置没有和前端统一一下就开始自己编写代码,就会出现和前端对接的时候会出现请求的值和返回的值出现不一致,代码不严谨的看起来让人头疼的问题,最后导致前端一直在反馈,每次开会都会疯狂吐槽后端。而接口文档其实就是前后端提前定义好的开发协议标准。
通过 API 文档驱动开发流程
最近和组内同事们沟通时,也听到一个观点:以“文档驱动”的一种协作模式,比如“先开发,再维护文档”和“口头确认沟通”的方式,达到产品质量和团队协作率相应都得到提高。
在了解了这种协作模式之后,项目组负责人找了一个工具,希望可以是文档的方式来推动工作,采用“文档驱动”的方式来降低或者代替无效沟通的成本。
为 API 工作方式提供信息来源
API 文档是人类和机器共同可读的技术内容,用于解释某种特定场景下API 的工作原理及功能。可以起到一个双重验证的目的,为了最大效果化,API 文档可以起着 API 工作方式的一个真正信息来源的作用。工具需要支持结构化格式包含函数、参数、类等的详细信息,便于开发人员和非技术人员/用户正确理解。一般情况下,主要包括教程和示例,帮助用户更好地理解不同部分如何协同工作。
什么是好的 API 文档?
一个好的 API 文档,除了内容合理详细之外,它的样式和交互方式也要简单易用。现在的 API 文档基本基于网页来展现,利用网页的显示特性,有一些比较常见的设计方式。在这里推荐一些适合作为 API 文档展现要素的一些最佳实践。
- 许多流行的工具在线发布他们的 API 文档,以便第三方开发人员可以轻松访问它们。以下是这些文档如此有效的一些原因:在文档中提供了示例代码,以便用户可以看到 API 在实践中是如何工作的;
- 轻松找到常见问题的解决方案,以便忙碌的开发人员可以快速获得所需的内容;
- 不提供理解 API 及其工作方式之外的不必要信息。当用户忙于工作并遇到问题时,他们需要可用的文档,而不是无关的信息;
- 不需要设限知识水平;最简单的概念和最困难的概念一样得到充分解释格式良好。内容有条理且一致且易于阅读。这减少了希望学习或解决问题的用户的摩擦。
通过 Eolink Apikit 进行协作办公
使用 Eolink Apikit 过程中,大部分的协作工作几乎都是围绕着 API 接口文档来进行的,创建人通过创建 API 文档之后,有访问权限的人可以实时查看当前 API 的改动情况,通过 API 文档发起 API 测试,设计 API test case,Mock API 数据,对 API 进行自动化测试等。
对 API 设置不同的状态
Eolinke Apikit 将 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 Apikit 管理工具除了可以手动创建 API 外,还可使用快速导入功能为其创建 API 及其所需的文档。创建 API 后,系统会管理新版本,使每次更新迭代版本都了如指掌。
对 API 文档的可维护性
- 对于 API 文档的可维护性应该保持像维护一个单独项目一样,使用 Eolink Apikit 工具每次以分支的形式进行更新,编辑人员在检查文档内容的正确性和简介之后,并由项目组成员进行 review。当 API 文档发布后,后期维护也是同等的重要,主要体现在两个方面:New feature 和废弃功能;当发布新功能之前应该先发布文档,并保证文档通过了标准的 review 流程。然而废弃掉的旧功能从文档中移除,并建议在对应的位置给出废弃功能提示和升级指南,确保使用旧功能的开发者进行升级工作。
- 作为开发⼈员,有的时候我们可能很容易忽视这⼀点。但是根据知识的偏差,假设我们的 API ⽤户是程序员,他们知道我们所知道的,理解我们所理解的,但我们并不认为他们是最终⽤户或客户。要克服这种偏差,换位思考是设计好的 API 的关键思想。所以当你编写下⼀个 API 时,把⾃⼰放在客户的⾓度,想象你想要的是什么,这时候你可能需要一个可以管理 API 文档的工具,体现出 API 文档的可维护性的价值。
接口文档生成工具
国产接口测试和接口文档生成工具 Eolink Apikit ,可以帮助我们在开发完接口之后对接口进行测试,完善 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 管理平台-Eolink Apikit。