API到底是什么?
什么是 API?
使用 API 的好处
REST API
REST != HTTP
API 请求和响应
API 是软件开发中最重要的部分之一,每个开发人员都必须精通它们。我担任 Golang 后端工程师已有大约一年,为各种项目构建了大量 API。
最近,我在Crio: Learn by Doing上参加了一场关于 API 的有趣会议,并将笔记分享给了 DevCommunity。让我们开始吧!
什么是 API?
API 代表应用程序编程接口,是一组允许应用程序访问数据并与外部软件组件、操作系统或微服务交互的功能。
简单来说,API 就像餐厅里的服务员。你不会走进咖啡馆,直接走进厨房告诉厨师你想吃什么。服务员会帮你做这件事,而 API 就是这样——客户端就是你,也就是顾客,而任何可以发送数据的资源就是厨师。
使用 API 的好处
-
安全性:使用 API 时,客户端和服务器端应用程序独立工作,并通过 API 进行通信,因此如果有人试图侵入客户端应用程序,服务器将不受影响且保持安全。
-
灵活性:API 允许更轻松地从任何网站或应用程序嵌入内容。例如,用 GO 编写的 API 可供 Node.js/Django 使用。
-
效率:当提供 API 访问权限时,生成的内容可以自动发布,并可供所有渠道使用。这使得内容更容易共享和分发。
-
创新:通过 API,可以创建一个应用层,用于向新受众分发信息和服务,并可进行个性化以创建定制的用户体验。
REST API
REST 代表表述性状态转移 (Representational State Transfer),它是最流行的 Web API 架构。它们遵循客户端-服务器模型,其中一个软件程序发送请求,另一个软件程序返回一些数据作为响应。
这些 API 通常接收JSON格式的响应,这是一种标准格式,易于应用程序“理解”,并且大多数语言都能很好地处理。例如,Ruby 应用程序可以轻松使用来自 Java 服务器的 JSON 响应。
JSON 是JavaScript 对象表示法 (JavaScript Object Notation)的缩写,它是一种轻量级的数据交换格式。它易于人类读写,也易于机器解析和生成。点击此处了解更多信息。
API 还有其他几种形式(SOAP、XML-RPC、JSON-RPC 等),我们将仅讨论 REST。更多信息,请点击此处
REST != HTTP
很多人喜欢将 HTTP 与 REST 进行比较。REST 和 HTTP 并不相同。
在 REST 架构风格中,数据和功能被视为资源,并使用统一资源标识符 (URI) 进行访问。这些资源的操作由一组简单且定义明确的操作完成。客户端和服务器使用标准化接口和协议(通常是 HTTP)交换资源的表述。
资源与其表现形式分离,以便能够以多种格式访问其内容,例如 HTML、XML、纯文本、PDF、JPEG、JSON 等。资源的元数据可供使用,例如用于控制缓存、检测传输错误、协商适当的表现形式以及执行身份验证或访问控制。最重要的是,与资源的每次交互都是无状态的。
API 请求和响应
REST API 请求通常由 Method、Body(授权码和其他参数)和 Host 组成。以下是我最近在处理的一个示例请求。
如前所述,REST API 响应通常采用 JSON 格式。以下是上述 API 请求的示例响应。
注意:要从上一个请求获得类似的响应,您必须添加 API 密钥:和 API 机密。
欲了解更多信息,请访问restfulapi.net
希望你现在对 API 有了很好的理解。如果本文对你有帮助,请支持它,并分享给你的同伴。
与我联系:LinkedIn | Twitter | GitHub