了解构建产品的 API 优先方法

作者:Janet Wagner

Web API 已经存在将近 20 年了,但“API 优先”的概念在过去几年才开始在软件团队中受到关注。采用 API 优先方法构建产品的开发人员数量正在增加。因此,今天我们想向您介绍 API 优先的概念,以及为什么这种方法越来越受欢迎。

API 优先方法意味着什么?

API 优先方法意味着对于任何给定的开发项目,您的 API 都被视为“一等公民”。项目的一切都围绕着最终产品将被移动设备使用,并且 API 将被客户端应用程序使用。API 优先方法涉及开发一致且可重用的 API,这可以通过使用 API 描述语言来建立 API 应如何运行的合同来实现。建立合同需要花费更多的时间来思考 API 的设计。它通常还涉及在编写任何代码之前,与利益相关者进行额外的规划和协作,以就 API 的设计提供反馈。

API 优先方法日益普及

如今,人类和机器都在使用数据。人类通过应用程序使用数据,通常来自许多不同的设备——智能手机、笔记本电脑、平板电脑和台式机。许多不同类型的设备意味着许多不同的屏幕尺寸。组织必须构建在所有设备上看起来美观且运行良好的应用程序。

API 允许公司将功能分解为单独的、自主的服务(也称为 微服务)。基于微服务构建应用程序可以帮助确保所有设备上的良好用户体验 (UX)。API 优先策略允许组织构建为所有应用程序提供服务的 API,并且可以为所有设备、平台和操作系统高效地开发和维护应用程序。

API 优先方法的优势

采用 API 优先方法构建产品有许多好处,包括但不限于:

开发团队可以并行工作

API 优先涉及建立合同。在组织中跨团队遵循服务之间建立合同,允许这些团队同时处理多个 API。开发人员不必等待 API 更新发布,然后再继续处理下一个 API。团队可以根据已建立的 API 定义模拟 API 并测试 API 依赖项。

降低应用程序的开发成本

API 和代码可以在许多不同的项目上重复使用。当开发团队想要构建一个新应用程序时,他们不必从头开始,这既耗时又昂贵。API 优先设计还允许在编写任何代码之前解决大多数问题,这有助于防止在将 API 与应用程序集成时出现问题。

提高上市速度

可以使用允许导入 API 定义文件的工具来自动化构建 API 的大部分过程。诸如 SwaggerHub 之类的工具允许导入 API 定义文件,并且通过这些文件,可以自动生成 API 文档、SDK 和模拟 API 等 API 工具。自动化显着加快了 API 和应用程序的开发速度。

API 优先还使得可以在不重新构建整个系统的情况下向应用程序添加新的服务和技术。在开发应用程序时,竞争非常激烈,因此必须快速开发应用程序。如今,应用程序不仅必须精心设计,而且必须在六个月内上市。

确保良好的开发者体验

API 的使用者通常是开发人员,而开发者体验 (DX) 可以决定 API 的成功与否。API 优先确保开发人员在使用您的 API 时拥有积极的体验。设计良好、文档齐全、一致的 API 提供积极的开发者体验,因为它更容易重用代码和引导开发人员,并且可以减少学习曲线。

降低失败风险

对于大多数公司而言,API 几乎用于每个业务流程——从营销和销售到通信和面向消费者的应用程序,这意味着 API 可以积极或消极地影响您业务的每个部分。API 优先通过确保 API 可靠、一致且易于开发人员使用来降低失败风险。

规划您的 API 优先计划

既然您已经了解了 API 优先的产品开发方法的一些好处,那么您应该如何规划和实施 API 优先方法?
以下只是您的 API 优先计划中应包含的一些内容。

  1. 集思广益 - 首先,有必要确定您的企业提供的关键服务和业务能力。找出应该构建哪种 API 以及应该通过 API 提供哪些服务。此外,找出并写下每个 API 的用例。根据这些用例写下潜在的端点。
  2. 建立 API 利益相关者 - 您组织内的利益相关者是谁?尽可能多的人员应参与您的 API 计划——您需要公司范围内的支持以及组织内团队共享的愿景。此外,允许利益相关者对 API 的设计提出意见。然后,利益相关者可以就组织中的交互达成一致,以便 API 保持一致。
  3. 设计 API 合同 - 合同为设计 API 建立了一套标准和最佳实践。请务必描述所有 API 并记录在案。确保所有 API 的工作方式相同,从端点名称和 URL 到错误代码和版本控制。一致性是关键。
  4. 创建样式指南 - 全面、有凝聚力的样式指南可确保构建服务的组织团队之间的一致性。API 状态代码、版本控制、错误处理等将标准化,确保 API 的设计方式相同。使用诸如 SwaggerHub 之类的工具来为组织中的所有 API 创建样式指南
  5. 实施 API 管理 - API 管理流程可以帮助强制执行既定标准并加强期望的结果。我们将在即将发布的博客文章中讨论 API 管理。进行同行代码审查也可以帮助确保遵循 API 设计标准,并且开发人员正在生成高质量的代码。
  6. 自动化流程 - 使用诸如 SwaggerHub 之类的工具来自动化诸如生成 API 文档、样式验证、API 模拟和版本控制之类的流程。此外,使 API 自助服务,以便开发人员可以立即开始使用您的 API 构建应用程序。提供交互式文档或沙箱,以便开发人员可以尝试 API 端点。
  7. 跟踪和管理您的 API 组合 - 通过跟踪和管理您的 API 组合,避免重复代码和构建冗余 API。实施一个可帮助您跟踪和管理 API 的系统。您的组织和平台越大,跟踪 API 及其依赖项就越困难。
  8. 为内部开发人员创建一个门户 - 为内部开发人员创建一个中心位置,一个存储所有 API 的所有内容的地方 - API 规范、文档、合同等。例如,根据一篇 InfoQ 文章,PayPal 为其开发人员构建了一个门户,它是“PayPal 中访问量最大的内部应用程序之一”。PayPal 的门户包括所有 API、文档、仪表板等的清单。

作为一等公民的 API

API 优先的产品构建方法可以在很多方面使您的组织受益。API 优先方法要求团队计划、组织和分享其 API 计划的愿景。它还需要采用支持 API 优先方法的工具。

感谢阅读!正在寻找更多 API 资源?订阅 Swagger 新闻通讯。每月接收一封包含我们最好的 API 文章、培训、教程等的电子邮件。订阅

目录