版本控制是计算机软件行业人士应用的术语。但进化是咱们所有人都要经验的事件,它实用于这个世界上的每个对象。
在计算机软件行业,能够看到每 3 至 4 年,每台计算机软件都会附带不同的发行版 / 版本,以满足以后 / 古代的要求。
版本控制是创立和治理软件产品的多个版本的实际,消费者能够依据本人的需要决定应用哪个版本,API 的治理也是如此。
API 的创立始终始于使应用程序与外部 / 内部应用程序开发人员集成的想法。就像任何其余传统软件产品一样,它总是从小规模开始,并且会随着工夫而倒退。让咱们看上面的简略用例,以更好地了解它。
例如,咱们可能心愿使外部 / 内部应用程序开发人员可能拜访客户信息,并且可能开始创立 API 以提供所需的性能。
作为第一个版本,您能够为 API 提供仅对客户信息的读取权限。起初,随着对应用程序需要的减少,您的应用程序开发人员可能会申请对客户信息的“写入 / 更新”拜访权限。作为 API 创建者 / 开发者,您能够决定是否:
- 提供具备 对客户信息的写入 / 更新拜访权限 的同一 API 的新版本
- 齐全提供独自的 API,以提供对客户信息的写入 / 更新拜访权限
API 的通用设计准则是应用第一种办法 - 从应用程序开发人员的角度来看,为咱们提供雷同性能的 API 的新版本,以及咱们解决同一实体(客户)时的附加性能。这将导致具备雷同 API 的 2 个版本:
· CustomerInfo v1.0- 提供对客户信息的只读拜访
· CustomerInfo v2.0 —提供对客户信息的读 / 写 / 更新拜访
通过 API 的版本控制,CustomerInfo API 的使用者能够依据须要决定应用哪个版本。
当咱们想反对同一个 API 的多个版本时,作为 API 创建者 / 设计者,咱们须要思考以下 02 个次要设计决策:
· 指定 API 版本信息的格局是什么
· 消费者将如何指定所选 API 的 API 版本
抉择用于指定版本信息的格局时,能够抉择以下 02 种常见做法:
· 应用公布 / 构建日期- 这容许应用公布 / 构建日期来惟一标识每个版本。
示例—版本 =“20200808”| 版本 =“20190102”
· 应用 major.minor 数字 - 这些数字用于指定同一 API 的不同版本,并且该数字能够蕴含 1 或 2 或 3 位数字作为版本号的一部分。一些 API 开发人员应用“v”前缀来示意它是版本号。
示例— version =“1”| 版本 =“v1”| 版本 =“1.1”| 版本 =“v1.1”| 版本 =“1.1.1”| 版本 =“v1.1.1”
在决定使用者如何指定版本信息时,能够从以下 03 种常见做法中进行抉择:
· HTTP标头- 自定义 HTTP 标头将用于传递 API 版本信息
示例— x-customerinfoapi-version:2.1
· 查问参数-API 版本信息将作为查问参数传递
示例 -/customerinfo?version=2.1
· URL -API 版本信息将合并到 URL 自身
示例 -/ v2 / customerinfo
作为 API 的创建者 / 开发者,咱们还能够联合下面的一些办法,并提供用于提供 API 版本信息的混合办法。例如,咱们能够应用 URL 办法来指定次要版本,而能够应用 HTTP 标头办法来指定 API 的主要版本。
如您所见,API 版本控制是 API 设计 / 开发中的要害性能,并且作为 API 提供程序,使消费者可能在不同的 API 版本之间进行选是要害的业务差别。
翻译:https://datayi.cn/w/xogjNbvP