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

news2024/11/28 12:47:19

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

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

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

通过 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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/470841.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

提高效率:使用这些工具,让你开发和学习更简单

🍎道阻且长,行则将至。🍓 目录 零、ChatGPT一、代码1.代码备忘清单2.菜鸟教程3.代码转图片4.代码在线运行5.LaTeX 公式编辑器6.GitCode、GitHub 等代码仓库平台 二、绘图1.Canva 可画2.Echarts Js画图3.算法可视化4.函数绘图5.遇到 Alt 截不…

236:vue+openlayers输入经纬度坐标,校验并在地图上标记点,enter提交

第236个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中输入坐标点,在地图上显示点图形。这里面校验了输入的经纬度坐标,同时使用了@keyup.enter.native来做提交处理。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示例效果…

第七章SpingMVC

1.MVC模式 视图(View)-对应组件:JSP或者HTML文件 控制器(Controller)-对应组件:Servlet 模型(Model) -对应组件:JavaBean 2.MVC模式具体说明 JSP:负责生成动态…

python resnet实例,残差网络医学分类,基于resnet医学图像分类任务;医学图像处理实战

一,数据集介绍: 数据预处理: 把数据处理成相同大小: 数据集: PathMNIST:结直肠癌组织学切片;ChestMNIST:胸部CT数据集,来源于NIH-ChestXray14 dataset;DermaMNIST&#…

【刷题之路Ⅱ】LeetCode 138. 复制带随机指针的链表

【刷题之路Ⅱ】LeetCode 138. 复制带随机指针的链表 一、题目描述二、解题难点分析方法——插入拷贝节点2、将拷贝节点插入到原节点的后面3、复制原节点的random到拷贝节点中4、将拷贝节点尾插到新链表中并恢复原链表的结构 一、题目描述 原题连接: 138. 复制带随机…

考研拓展:汇编基础

一.说明 本篇博客是基于考研之计算机组成原理中的程序机器级代码表示进行学习的,并不是从汇编语言这一门单独的课程来学习的,涉及的汇编语言知识多是帮助你学习考研之计算机组成原理中对应的考点。 二.相关寄存器 1.相关寄存器 X86处理器中有8个32位…

【三十天精通Vue 3】第二十天 Vue 3的性能优化详解

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 引言一、Vue3 性能优化的概念1.1 为什么需要性能优化1.2 性能优化…

基于dsp+fpga+AD+ENDAC的半导体运动台高速数据采集电路仿真设计(四)

整个调试验证与仿真分析分三个步骤:第一步是进行 PCB 检查及电气特性测试,主 要用来验证硬件设计是否正常工作;第二步进行各子模块功能测试,包括高速光纤串行 通信的稳定性与可靠性测试, A/D 及 D/A 转换特性测…

26从零开始学Java之如何对数组进行排序与二分查找?

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在上一篇文章中,壹哥给大家讲解了数组的扩容、缩容及拷贝方式。接下来在今天的文章中&…

深眸科技|深度学习、3D视觉融入机器视觉系统,实现生产数智化

随着“中国制造2025”战略加速落实,制造业生产线正在加紧向智能化、自动化和数字化转型之路迈进。而人工智能技术的兴起以及边缘算力持续提升的同时,机器视觉及其相关技术也在飞速发展,并不断渗透进工业领域,拓展应用场景的同时&a…

Apache Druid中Kafka配置远程代码执行漏洞(MPS-2023-6623)

漏洞描述 Apache Druid 是一个高性能的数据分析引擎。 Kafka Connect模块曾出现JNDI注入漏洞(CVE-2023-25194),近期安全研究人员发现Apache Druid由于支持从 Kafka 加载数据的实现满足其利用条件,攻击者可通过修改 Kafka 连接配置属性进行 JNDI 注入攻…

软件架构中间件技术

中间件的定义 其实中间件是属于构件的一种。是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同技术之间共享资源。 我们把它定性为一类系统软件,比如我们常说的消息中间件,数据库中间件等等都是中间件的一种体现。一般情况都是…

减少 try catch ,可以这样干

软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且…

d3.js学习笔记①创建html文档

本人之前从未学过HTML、CSS、JavaScript,然而我导是做前端的,要求我必须在三周内掌握d3.js,我只能从0学起并以此记录自己的学习过程。 首先对这三种语言有一个初步的认识:HTML是用于搭建网页框架,CSS是美化网页的&…

软件设计师考试——计算机网络、系统安全分析和设计部分

计算机网路 七层模型 OSI/RM七层模型 网络技术标准与协议 TCP协议 DHCP协议 DNS协议 计算机网络的分类——拓扑结构 按分布范围: 局域网城域网广域网因特网 按拓扑结构: 总线型星型环型 网络规划与设计 逻辑网络设计 物理网络设计 分层设计 IP地址…

VirboxLM-免服务版授权码,快速实现一机一码

一、产品介绍 ​ 授权码是由深盾科技开发的一款软件保护及授权管理产品 ​,一方面要保护软件代码不被逆向,另一方面要控制软件的授权使用。软件用户只需要输入授权码(由数字和字母组成的一串字符),激活授权码后即可使…

这年头,谁还在「贩卖」生活方式?

【潮汐商业评论/原创】 “我已经很久没有追寻过品牌购物了”Anna如是说。 如今的Anna对商品的选择往往会考虑性价比以及简洁的外观,去品牌化、简单已经成为其新的生活方式。 日本作者三浦展在《第四消费时代》一书中提到,在第三消费社会,新…

Java版本企业工程项目管理系统平台源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

Android 获取奔溃crash的日志(adb logcat或者dropbox)

1.通过adb logcat 来获取: 使用场景:测试或者开发小伙伴 抓取。 先执行adb logcat -c 清理缓存日志 接着,抓取当前时间段开始的日志: adb logcat -v time >D:/crash.log 也可以抓取指定进程的日志: adb logcat -v time | fi…

利用POSIX多线程API函数进行多线程开发

本书文字内容源自 <<linux C/C服务器开发实践>> 支持正版图书&#xff0c;测试代码根据测试目的&#xff0c;可自行修改测试。 前言 在用POSIX多线程API函数进行开发之前&#xff0c;我们首先要熟悉这些API函数。常见的与线程有关的基本API函数见下表 使用这些A…