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

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

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

通过 API 文档驱动开发流程

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

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

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

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

什么是好的 API 文档?

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

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

通过 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 文档的可维护性

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

开发中不可轻视的接口文档相关推荐

  1. 反思:项目开发中的语言沟通与文档沟通

    反思:项目开发中的语言沟通与文档沟通 问题引出:刚进入公司试用期,有导师安排开发实现一些功能模块或者小的应用.毕竟需要在整个产品的框架下添加代码,看了下整个产品近1G的源代码,相当浩瀚.虽然是不需要我 ...

  2. 在.Net Core中使用Swagger制作接口文档

    在实际开发过程中后台开发人员与前端(移动端)接口的交流会很频繁.所以需要一个简单的接口文档让双方可以快速定位到问题所在. Swagger可以当接口调试工具也可以作为简单的接口文档使用. 在传统的asp ...

  3. oracle web API,在Web API程序中使用Swagger做接口文档

    #### 创建Web API程序 在VS2019中创建一个ASP.NET Web应用程序,选择Web API来创建RESTful的HTTP服务项目,构选MVC和Web API核心引用. #### 安装 ...

  4. 使用smart-doc 做接口文档工具,Controller访问路径中的常量无法替换问题

    最近,项目开发中使用 smart-doc 作为接口文档生成工具的使用中,由于请求路径带有常量的问题, 虽然根据 smart-doc官网文档中如何替代请求路径的常量设置替换的方法,但生成的html文中路 ...

  5. js学习总结----crm客户管理系统之项目开发流程和api接口文档

    CRM ->客户管理系统 CMS ->内容发布管理系统 ERP ->企业战略信息管理系统 OA -> 企业办公管理系统 产品 / UI设计:需求分析,产品定位,市场调查...按 ...

  6. idea中使用yapi插件自动生成yapi接口文档

    1.在idea的plugin中搜索easy-yapi插件 2.安装后重启idea 3.打开setting,在Other Settings下出现EasyApi菜单项,点开出现如下界面 4.填充Yapi地 ...

  7. sentinel 官方文档_SpringCloud网关聚合Swagger接口文档实践

    目前大多数项目都是以微服务架构设计,以前后端分离技术解耦前端开发工程师和后端开发工程师的工作量,这样一来前后端的对接将是一项重要的沟通工作量,如果后端没有一个合适的API文档,那么这样的前后端对接将是 ...

  8. 基于文档注释接口文档生成工具(代码0侵入附源码)

    本文主要分享一个基于个人兴趣,旨在提高工作效率,开发了一个基于文档注释,接口文档生成工具,欢迎大佬指点. 源码以及使用demo地址 :传送门 1.前置介绍 1.1前世 现在大多数项目都走向了前后端分离 ...

  9. 接口测试 | 如何高效管理接口文档

    痛点 如果你负责测试的项目是一个前后端分离的项目. 回忆下是不是有如下场景: 某个项目开发完成,接口文档发布在了 swagger 上,前后端各自进行开发.此时你负责这个项目的服务端测试. 首先进行接口 ...

最新文章

  1. 枚举 ---- Codeforces Round #711 (Div. 2) D. Bananas in a Microwave[枚举暴力+思维优化]
  2. poj2528贴海报(线段树离散化)
  3. 经理让我复盘上次Redis缓存雪崩事故
  4. 新手提升JSP技术能力的一点建议-调试篇
  5. ffmpeg封装h264裸流为mp4文件,视频播放速度特别慢-解决
  6. python整理数据_Python常见数据结构整理
  7. 用springmvc 开发为 app 提供后台服务遇到跨域请求的问题
  8. 【转】浮点数之间的比较
  9. 03-28 弱网测试
  10. DNS服务的配置与管理(4) 配置其它类型的DNS记录
  11. IDEA 控制台显示Run Dashboard
  12. Linux系统禁止IP登录
  13. 城域网100G宽带传输设备实现客户接入链路告警
  14. 北疆游记 - 照片在左边相册
  15. Pytorch——momentum动量
  16. 基于java的学生学籍管理系统(含源文件)
  17. mysql定时任务每天凌晨三点钟醒来_linux cron 下的定时执行工具使用技巧
  18. 支付宝扫码跳转到跳转页面
  19. uint8数据类型图片和double数据类型图片的转化和显示
  20. AD根据Primitives进行敷铜

热门文章

  1. 如何使用 JavaScript 创建百分比计算器
  2. idea下使用springinitializr创建项目时 初始化失败的解决
  3. golang小案例 —— 1970 年1月1日到现在的时间秒数计算出现在的日期时间
  4. Python程序 天天向上的力量有多大
  5. 环信即使通讯 php git,iOS即时通讯(三)- 环信SDK的导入
  6. 关于linux中wake_up与wake_event的使用
  7. MongoDB3.x中用户权限
  8. MQ admin 账号登陆失败,RabbitMQ admin 账户默认密码,RabbitMQ 添加admin 账户
  9. 目标检测的papers、github地址及pascal voc排名
  10. P、NP与NPC 的通俗理解