原生 JavaScript 编写 RESTful API 详解

阅读时长 8 分钟读完

RESTful API 是一种通用的 Web API 设计风格,它基于 HTTP 协议,采用统一的资源标识符(URI)和标准的 HTTP 方法(GET、POST、DELETE、PUT 等)来操作资源。RESTful API 设计简单、易于理解、扩展性好,因此在 Web 开发中得到了广泛应用。本文将详细介绍如何使用原生 JavaScript 编写 RESTful API,并提供相应的示例代码。

1. HTTP 请求与响应

在编写 RESTful API 之前,我们需要了解 HTTP 协议的基本知识。HTTP 协议是一种客户端-服务器协议,客户端发送请求,服务器返回响应。HTTP 请求通常由以下几个部分组成:

  • 请求方法:GET、POST、DELETE、PUT 等。
  • 请求头:包含请求的元数据,例如 Content-Type、Authorization 等。
  • 请求体:包含请求的数据,例如表单数据、JSON 数据等。
  • 请求路径:表示请求的资源路径,例如 /users/1。

HTTP 响应通常由以下几个部分组成:

  • 状态码:表示请求的处理结果,例如 200、404 等。
  • 响应头:包含响应的元数据,例如 Content-Type、Authorization 等。
  • 响应体:包含响应的数据,例如 HTML 页面、JSON 数据等。

在 JavaScript 中,我们可以使用 XMLHttpRequest 对象发送 HTTP 请求,并获取服务器返回的响应。XMLHttpRequest 对象提供了以下几个方法:

  • open(method, url, async):指定请求的方法、URL 和是否异步发送请求。
  • setRequestHeader(header, value):设置请求头。
  • send(data):发送请求,并可选地发送请求体。
  • abort():取消请求。

XMLHttpRequest 对象提供了两种接收响应的方式:

  • 通过 onreadystatechange 事件监听器实现异步接收响应,该事件在 XMLHttpRequest 对象状态发生变化时触发。
  • 通过 onload 事件监听器实现同步接收响应,该事件在 XMLHttpRequest 对象成功接收响应时触发。

以下是一个使用 XMLHttpRequest 对象发送 GET 请求的示例代码:

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

2. RESTful API 设计原则

在编写 RESTful API 时,我们应该遵循以下几个原则:

  • 资源是 API 的核心概念,每个资源都应该有一个唯一的 URI。
  • 使用 HTTP 方法表示对资源的操作,例如 GET、POST、DELETE、PUT 等。
  • 使用 HTTP 状态码表示请求的处理结果,例如 200、201、400、404 等。
  • 使用 JSON 格式表示请求和响应的数据,以便于解析和处理。
  • 使用 HATEOAS(超媒体引擎状态转移)机制,让客户端通过链接发现 API 的功能。

以下是一个使用 RESTful API 设计原则编写的 GET /users/:id 接口的示例代码:

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

3. RESTful API 的增删改操作

除了 GET 请求之外,我们还可以使用 POST、DELETE、PUT 等请求方法实现 RESTful API 的增删改操作。以下是一个使用 RESTful API 设计原则编写的 POST /users 接口的示例代码:

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

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

以下是一个使用 RESTful API 设计原则编写的 DELETE /users/:id 接口的示例代码:

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

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

以下是一个使用 RESTful API 设计原则编写的 PUT /users/:id 接口的示例代码:

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

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

4. 总结

本文介绍了如何使用原生 JavaScript 编写 RESTful API,并提供了相应的示例代码。在编写 RESTful API 时,我们应该遵循 RESTful API 设计原则,使用 HTTP 方法表示对资源的操作,使用 HTTP 状态码表示请求的处理结果,使用 JSON 格式表示请求和响应的数据,以便于解析和处理。同时,我们也应该使用 HATEOAS 机制,让客户端通过链接发现 API 的功能。

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

纠错
反馈