API 即应用程序编程接口,是一套定义应用程序或设备如何互相连接和通信的规则。 REST API 是一种符合 REST 的设计原则或具象状态传输 架构风格的 API。 出于这一原因,REST API 有时也称为 RESTful API。
REST 最初是由计算机科学家 Roy Fielding 博士于 2000 年在他的博士论文中进行定义的,它为开发人员提供了相对较高水平的灵活性和自由度。 这种灵活性只是 REST API 成为微服务架构中连接组件和应用程序的常用方法的原因之一。
在最基本的层面上,API 是一种机制,允许应用程序或服务访问另一个应用程序或服务中的资源。 执行访问的应用程序或服务称为客户端,而包含该资源的应用程序或服务称为服务器。
某些 API(例如 SOAP 或 XML-RPC)采用了严格的开发人员框架。 但是,REST API 几乎可以使用任何编程语言进行开发,并支持多种数据格式。 唯一的要求是它们要符合以下六种 REST 设计原则 - 也称为架构约束:
REST API 通过 HTTP 请求进行通信,执行标准的数据库功能,如在资源中创建、读取、更新和删除记录(也称为 CRUD)。 例如,REST API 可使用 GET 请求检索记录、使用 POST 请求创建记录、使用 PUT 请求更新记录,以及使用 DELETE 请求删除记录。 可以在 API 调用中使用所有 HTTP 方法。 精心设计的 REST API 类似于在具有内置 HTTP 功能的 Web 浏览器中运行的网站。
任何特定时刻或时间戳的资源状态称为资源表示。 几乎可以采用任何格式将该信息传递到客户端,包括 JavaScript 对象表示法 (JSON)、HTML、XLT、Python、PHP 或纯文本。 JSON 很受欢迎,因为它既适合人类也适合机器阅读,而且它与编程语言无关。
在 REST API 调用中,请求头和参数也很重要,因为它们包含重要的标识信息,例如元数据、授权、统一资源标识符 (URI)、缓存、cookie 等。 请求报头和响应报头以及传统的 HTTP 状态码都在精心设计的 REST API 中使用。
虽然灵活性是 REST API 设计的一大优势,但是这种灵活性同样也容易设计出不连续或性能不佳的 API。 因此,专业开发人员分享了 REST API 规范的最佳实践。
OpenAPI 规范 (OAS) 建立了一个接口来描述 API,该描述方式支持任何开发人员或应用程序发现它,并完全理解其参数与能力 - 可用端点、每个端点上允许的操作、操作参数、身份验证方法和其他信息。 最新版本的 OAS3(链接位于 ibm.com 外部)包括手动操作工具,例如 OpenAPI Generator,可以用不同的编程语言生成 API 客户端和服务器存根。
REST API 安全也始于行业最佳实践,例如使用散列算法确保密码安全性,使用 HTTPS 实现安全数据传输。 像 OAuth 2.0(链接位于 ibm.com 外部)这样的授权框架可以帮助限制第三方应用程序的特权。 使用 HTTP 头中的时间戳记,API 还可以拒绝在特定时间段后到达的任何请求。 同时也可以通过参数验证和 JSON Web 令牌等方式来确保只有经过授权的客户端才能访问 API。
IBM Cloud Pak® for Integration 是一个混合集成平台,该平台应用闭环 AI 自动化功能,支持多种类型的集成。
利用 IBM API Connect® 的安全 API 管理,跨多个云管理您的 API 生命周期,促进社会化并优化整个业务生态系统的货币化工作。
从业务工作流程到 IT 运营,我们为您提供了 AI 支持的自动化。