RESTful API 的构建块

阅读时长 5 分钟读完

RESTful API 是一种广泛应用于互联网的 API 设计规范。它通过 HTTP 协议提供资源的标准接口,强调标准化、简洁、可扩展和面向资源的设计理念,成为越来越多 Web 开发者的首选。

本文将详细介绍 RESTful API 的构建块,包括资源、URI、HTTP 方法、状态码和表示。我们还提供代码示例和学习指导,以指导您如何构建高质量的 RESTful API。

资源

RESTful API 的核心是资源,也称为信息实体。资源是 API 中最基本的概念,它可以是任何东西,如用户、文章、订单、商品等等。资源可以用一个 URI 进行唯一定位,并通过 HTTP 协议进行交互。

如下是一个资源的 URI 的示例:

其中,https://example.com 是 API 的主机地址,users 是资源的名称,123 是资源的唯一标识符。需要注意的是,RESTful API 中,URI 应该只标识资源本身,而不是其具体行为。

URI

URI(Unified Resource Identifier) 是资源的唯一标识符。它通过 HTTP 请求,将客户端与服务器之间的操作与数据传输进行显式定义。URI的标准格式:scheme://host/resource_path,它包括以下几种格式:

  • scheme:协议名称, 浏览器默认使用http协议,因此http协议可以省略不写。
  • authority:请求资源的域名和端口号,格式为 host:port ,可以省略。
  • resource_path:资源的具体路径,以名称表示。
  • query:请求参数,格式为 key=value,多个参数之间用 & 符号连接。
  • fragment:锚点,表示定位到资源的具体部分,比如网页中定位到某个标题或者评论。

HTTP方法

RESTful API 使用 HTTP 协议进行通信,因此 HTTP 方法是 RESTful API 的重要构建块之一。HTTP 定义了多种方法,包括 GET、POST、PUT、DELETE 等,对应着不同的资源操作。RESTful API 通过使用 HTTP 方法定义资源操作,实现了 URI 只作为资源定位符的目的。

下表列出了 RESTful API 常用的 HTTP 方法和它们的行为:

HTTP 方法 行为
GET 获取指定资源的表示
POST 创建新的资源
PUT 更新指定资源
DELETE 删除指定资源
HEAD 获取指定资源的头信息
OPTIONS 获取指定资源所支持的方法列表

状态码

RESTful API 使用 HTTP 状态码表示资源操作的结果。状态码反映了服务器是否成功处理请求及其原因。在 RESTful API 设计中,状态码是非常重要的部分,因为它们帮助客户端了解操作的状态,并采取相应的行动。

下表列出了 HTTP 状态码及其对应的含义:

HTTP 状态码 含义
200 OK 请求成功
201 Created 创建成功
204 No Content 无返回内容
400 Bad Request 请求错误
401 Unauthorized 未经授权
403 Forbidden 操作被禁止
404 Not Found 资源不存在
409 Conflict 资源冲突
500 Internal Server Error 服务器错误

表示

RESTful API 的另一个关键构建块是表示。表示是指将资源的状态转换为客户端或服务器可以处理的格式,如 JSON 或 XML 等。

JSON 是 RESTful API 最常用的表示形式之一,因为它是轻量级的、易于阅读和解析的,而且几乎所有现代编程语言都支持 JSON。

如下是一个返回 JSON 表示的用户资源示例:

示例代码

下面是一个使用 Node.js 和 Express 框架构建的基本 RESTful API 示例代码:

-- -------------------- ---- -------
----- ------- - -------------------
----- --- - ----------

-- -------
----------------- ----- ---- -- -
  -- ---------
---

------------------ ----- ---- -- -
  -- --------
---

------------------------- ----- ---- -- -
  -- ---------
---

------------------------- ----- ---- -- -
  -- ---------
---

---------------------------- ----- ---- -- -
  -- ---------
---

-- ----
---------------- -- -- -
  ------------------- ------- -- ---- -------
---

上述代码定义了 5 个路由,每个路由对应一种 HTTP 方法。其中 /users 是用户资源的路径,:userId 是用户资源的标识符。

总结

本文详细介绍了 RESTful API 的构建块,包括资源、URI、HTTP 方法、状态码和表示。我们还提供了代码示例和学习指导,以帮助您设计和实现高质量的 RESTful API。通过深度学习和实践,您可以更好地理解 RESTful API,更好地设计和实现面向资源的 Web API。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647248fa968c7c53b0016706

纠错
反馈