为我们大家创建 API
学习目标
完成本单元后,您将能够:
- 定义和描述 API。
- 列举 API 的常见用途。
技术已融入我们生活的方方面面,互联互通已经成为第四次工业革命的基石。我们都以某种方式联系在一起。
- 我们通过手机查找附近餐馆在 Yelp 上的评论。
- 我们通过旅游预订网站访问所有可用的航班和酒店。
- 甚至家用电器也能够补充物品;例如,直接从支持 Alexa 的 AmazonBasics 微波炉订购微波爆米花。
您是否曾经想过这是怎么回事?
几十年来,大多数计算机软件都是为一种类型的用户进行设计和分配的:人类用户。无论在该软件的内部发生了什么事件链,传统上,一个人类用户位于该事件链的末端。因此,用户只能通过用户界面 (UI) 访问数据。
但是,如果同样的数据也可以被另一款软件轻松访问呢?例如,您的智能手表可以与网上的性能图表服务或您所请教的医生使用的电子健康记录 (EHR) 系统共享您所走的步数?在这种情况下,UI 的关注点非常不同。毕竟,软件没有眼睛、情感或直觉——它不需要一个夸张的图形用户界面。然而,就像 UI 是为人类量身定制的一样,软件需要一个接口,使其能够轻松地从其他软件获取数据或功能。
了解一下应用程序编程接口(也称为 API)吧。当应用程序、数据或设备在某些专门构建的上下文(如可视化健身数据)中共享数据或功能时,API 在幕后负责在该上下文中进行连接。
什么是 API?
API 相当于用户界面,只是它是为软件而不是为人类用户设计的。因此,媒体通常将 API 描述为允许应用程序相互通信的技术。
客户端向另一个系统发送请求,请求特定信息或功能。该系统在响应中返回数据或功能。为了发送或接收数据,预设数据将采用双方都能理解的特定格式。这种格式通常对其服务的上下文非常敏感。让我们仔细了解一下。
一位当地健身俱乐部的老板想在俱乐部的新场所安装新健身器材。她知道,由于身处北美,她需要使用美版家用插头来完成这项工作。她还知道墙上的插座提供 120 伏特的电力。这些已知的准则本质上为任何需要插入墙壁的设备设定了预期。
API 以类似的方式工作。
API:软件之间的电流
那么,墙壁插座与 API 有什么关系呢?
可以这么想:
- 墙上提供的电力是一项服务。它可以随时停止和启动。
- 插墙的跑步机依靠电力来运行。
- 由于跑步机没有自己的电源,所以跑步机所需的电力供应被外包给了一个服务提供商,例如使用风力涡轮机或太阳能的供应商。
尽管世界各地所用的电源插座有所不同,但它们具有可预测的标准开口模式;而连接到跑步机等设备上的电源插头按照与这些标准模式相匹配进行设计。
所有这些规范本质上为希望使用该服务的任何设备设定了期望。插头和电源符合该服务的标准模式和规范(例如 120 伏特)。API 也是如此。
与标准化的电源插座一样,API 提供了相似的标准模式,使其他软件可以轻松地交换数据和功能。任何需要发送或接收数据的软件都必须遵循这些规范才能发出请求。API 使现有流程(如客户体验)能够与新的数据和功能相集成。