开发中不可轻视的接口文档

接口文档是描述如何与软件系统中的特定接口进行交互的文档,通常包含接口的名称、描述、请求和响应的格式、参数、返回值、错误码、调用示例等信息。它是开发人员在设计和开发软件系统时必不可少的参考资料。

日常工作中,运用接口文档最多的是前后端的同学,因为要遵守各自的规范流程,所有要提前订好一个规范和流程,目的在于和前端对接的时候不至于太混乱。

举个例子:在对接过程中,经常会发生前端和后端联调时候出现意见分歧。如果后端写的接口不规范,设置没有和前端统一一下就开始自己编写代码,就会出现和前端对接的时候会出现请求的值和返回的值出现不一致,代码不严谨的看起来让人头疼的问题,最后导致前端一直在反馈,每次开会都会疯狂吐槽后端。而接口文档其实就是前后端提前定义好的开发协议标准。


通过 API 文档驱动开发流程

最近和组内同事们沟通时,也听到一个观点:以“文档驱动”的一种协作模式,比如“先开发,再维护文档”和“口头确认沟通”的方式,达到产品质量和团队协作率相应都得到提高。

在了解了这种协作模式之后,项目组负责人找了一个工具,希望可以是文档的方式来推动工作,采用“文档驱动”的方式来降低或者代替无效沟通的成本。


为 API 工作方式提供信息来源

API 文档是人类和机器共同可读的技术内容,用于解释某种特定场景下API 的工作原理及功能。可以起到一个双重验证的目的,为了最大效果化,API 文档可以起着 API 工作方式的一个真正信息来源的作用。工具需要支持结构化格式包含函数、参数、类等的详细信息,便于开发人员和非技术人员/用户正确理解。一般情况下,主要包括教程和示例,帮助用户更好地理解不同部分如何协同工作。


什么是好的 API 文档?

一个好的 API 文档,除了内容合理详细之外,它的样式和交互方式也要简单易用。现在的 API 文档基本基于网页来展现,利用网页的显示特性,有一些比较常见的设计方式。在这里推荐一些适合作为 API 文档展现要素的一些最佳实践。

  1. 许多流行的工具在线发布他们的 API 文档,以便第三方开发人员可以轻松访问它们。以下是这些文档如此有效的一些原因:在文档中提供了示例代码,以便用户可以看到 API 在实践中是如何工作的;
  2. 轻松找到常见问题的解决方案,以便忙碌的开发人员可以快速获得所需的内容;
  3. 不提供理解 API 及其工作方式之外的不必要信息。当用户忙于工作并遇到问题时,他们需要可用的文档,而不是无关的信息;
  4. 不需要设限知识水平;最简单的概念和最困难的概念一样得到充分解释格式良好。内容有条理且一致且易于阅读。这减少了希望学习或解决问题的用户的摩擦。


通过文档工具进行协作办公

使用文档工具- 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 文档的可维护性

  1. 对于 API 文档的可维护性应该保持像维护一个单独项目一样,使用 Eolink Apikit 工具每次以分支的形式进行更新,编辑人员在检查文档内容的正确性和简介之后,并由项目组成员进行 review。当 API 文档发布后,后期维护也是同等的重要,主要体现在两个方面:New feature 和废弃功能;当发布新功能之前应该先发布文档,并保证文档通过了标准的 review 流程。然而废弃掉的旧功能从文档中移除,并建议在对应的位置给出废弃功能提示和升级指南,确保使用旧功能的开发者进行升级工作。
  1. 作为开发⼈员,有的时候我们可能很容易忽视这⼀点。但是根据知识的偏差,假设我们的 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

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

推荐阅读更多精彩内容