什么是 API?它是如何工作的?
API是连接不同系统的接口,分内部、外部等类型,常用SOAP和REST技术,REST占比超75%。其工作流程为:外部系统向API端点发请求,经安全验证后,系统返回响应结果,广泛应用于各场景,对企业发展至关重要。
什么是API?它是如何工作的?
API(应用程序编程接口)提供了一种连接不同系统或软件程序的方法。API为用户提供对资源(例如一段代码或一个模块)的访问权限,其他系统可以连接到该API以访问程序或系统内的功能。
API几乎用于我们日常生活的所有场景中,例如使用手机应用程序时、在线支付时、连接到其他设备或服务时,以及连接到物联网设备时。
当开发人员希望将软件模块或代码类提供给其他开发人员在其自己的程序中使用时,他们会创建API。公司向其他公司和用户提供API,以支持访问服务和功能。
API既有内部API(即由系统内不同的软件组件用于相互通信),也有外部或远程API(不同的系统可以相互连接以请求和使用资源)。API还可以根据其预期用途进行分类:
- 公共 – 这些API可供任何具备连接技能的人使用。例如Google Maps API和Open AI Standard。
- 合作伙伴 – 这些API可供希望将其服务与另一家公司集成的合作伙伴公司使用。对API的访问受到限制,并具有安全功能以防止未经授权的访问。
- 私有 – 这些是内部API,在组织内或特定系统内使用,不向外部用户或其他开发人员公开。
API也可以根据其功能进行分类:
- 简单 – 提供单一操作;例如,在卡支付系统的API中,允许您创建卡记录。
- 复合 – 可在单个API调用中结合多项功能;例如,在卡支付系统的API中,允许您创建卡记录、为卡充值并激活卡片。
API也可以根据是否为付费服务或免费使用进行分类。开源API是免费使用的。其他API则需要用户付费才能访问服务。
如果您不熟悉API,相关的术语可能会令人望而生畏。
请注意斜体字,这些是您在API上下文中常听到的术语。您应该理解它们的含义;有关详细信息,请参阅末尾的术语表部分。
API技术与术语
我们大多数人熟悉的API通过开放的互联网工作,使用HTTP作为通信协议。此外,API使用单独的协议或标准来促进通信和编码消息。两种主要类型的API是SOAP和REST。
- SOAP 是旧系统中常用的API。它以XML(可扩展标记语言)格式提供消息。这些API在许多银行和金融系统中使用。
- REST 是一组RESTful原则,旨在通过互联网提供现代API。它通常以JSON(JavaScript对象表示法)格式提供消息。它现在是使用最广泛的API,超过75%的API使用它。
要了解更多关于SOAP与REST使用的比较,请查看这篇文章。
API连接通常也是通过SSL(安全套接字层)或TLS(传输层安全)建立的安全(HTTPS)连接。
现代API还提供额外的安全功能,以确保只有授权用户才能访问API资源。例如使用特殊的Oauth Bearer令牌或加密的API密钥。有效的令牌或密钥必须附加到API请求中。远程系统在允许访问资源之前会对此进行检查。
另外,请查看我们关于内部与外部API和API生命周期管理的文章。
准备好将您的开发文档提升到新的水平了吗?立即预约Baklib演示!
API如何工作?
程序或系统的开发者可能会决定通过API向外部系统或用户公开某些功能。他们在代码中公开这些API,以便其他应用程序或系统可以使用程序资源。
远程或外部系统向API端点发送请求(这在格式上类似于URL,用于标识特定位置或资源);API端点也称为URI(统一资源标识符)。
API请求(或API调用)必须发送到正确的API端点。它必须格式正确,并包含有效的字段和允许的字段值,以便远程系统能够识别和处理请求。
通常,当连接到第三方公司提供的外部系统时,会有某种形式的安全措施和用户身份验证,以防止未经授权的资源访问。请求中可能需要包含用户名和密码、安全令牌或承载令牌(访问令牌),以验证用户身份并访问远程系统上的资源。
资源将允许请求者执行某些操作,例如:获取账户信息、更新账户信息、发布信息以创建新账户或删除账户。在API术语中,动词GET、PUT、POST、UPDATE和DELETE被称为HTTP方法,用于表示从API端点资源请求的操作类型。
如果远程系统在处理消息时遇到任何问题(例如,用户无权访问资源、请求的URI未找到或消息内容格式无效),它将返回错误消息(或抛出错误)。
如果请求有效,远程系统通常会返回一个OK响应,以及请求的结果。此响应消息称为API响应。
请求API资源的系统现在可以处理该响应。
示例
让我们仔细看一个简单的API示例,该API由一个住宿预订服务的手机应用程序使用。
- 用户输入他们感兴趣的旅行地点和日期,以及其他信息,如预算、旅行人数和具体的房间要求。
- 移动应用准备消息内容(有效载荷)。有效载荷将包括消息体(包含值的所有字段)和消息头(包含有关消息格式的信息以及其他元数据,如任何授权参数)。
- 移动应用将API请求发送到API端点——一个远程预订管理系统上的URI。
- 远程系统接收请求,首先检查请求者是否有权访问服务、资源是否可用以及有效载荷格式是否有效。
- 它在数据库中查找符合请求中提供的详细信息的可用房间。它将此信息返回给请求的移动应用。
- 移动应用接收响应并将结果显示给用户。
💛🧡🧡客户评价:我喜欢网站上广泛的功能、快速的内容更改以及发布到网络服务的便利性。
图1:住宿预订API示例
为什么API对当今企业如此重要?
对于希望发展的企业来说,API至关重要。以下是一些好处:
- 简化和加速市场进入策略
- 改善客户互动
- 提高运营敏捷性和速度
- 创造和寻找新的收入、市场和分销渠道
- 开发新的收入流或扩展现有收入流
- 扩大品牌影响力
- 通过外部开发提高效率和开放式创新
总结
在我们这个现代、互联的世界中,API无处不在,几乎所有你使用的系统和应用程序都以某种形式使用API。
因此,无论您从事哪个行业,在职业生涯的某个阶段,您很可能需要理解所在组织使用的 API。