使用 Node.js 和 Express 构建 RESTful API - 基础篇

阅读时长 8 分钟读完

1. 什么是 RESTful API?

REST 指的是 Representational State Transfer,可以翻译为“表现层状态转化”。它是一种设计风格,用于构建网络应用程序。

RESTful API 是符合 REST 设计风格的 Web API。它基于 HTTP 协议,使用 HTTP 动词(GET、POST、PUT、DELETE 等)对资源进行 CRUD 操作。RESTful API 的特点是统一的 URL、标准的 HTTP 方法和返回格式,以及可重用的可缓存响应。

2. Node.js 和 Express

Node.js 是一种服务器端 JavaScript 运行环境,它使 JavaScript 能够在服务器端运行。它基于事件驱动和非阻塞 IO 模型,可以实现高性能的网络应用程序。

Express 是一个基于 Node.js 平台的 Web 框架。它提供了一组强大的功能,包括路由、中间件、模板引擎和许多其他功能,可以帮助我们快速构建 Web 应用程序。

3. 构建 RESTful API 的基本步骤

3.1 安装和初始化 Express

首先,我们需要安装 Node.js 和 Express。

在命令行中输入以下命令来安装 Express:

创建一个新的文件夹,并进入该文件夹。在文件夹中执行以下命令来初始化我们的项目:

这将创建一个 package.json 文件,其中包含项目的元数据和依赖项。

3.2 创建路由

Next, we need to create routes for our RESTful API. Routes are responsible for handling HTTP requests and sending responses. To create routes, we can use the Express Router.

在项目的根目录下创建一个名为 index.js 的文件,并输入以下代码:

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

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

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

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

此代码创建了一个基本的 Express 应用程序,并使用 Router 创建了一个简单的路由。该路由将 GET 请求映射到根路径,并返回“Hello World!”消息。

3.3 运行服务器

运行以下命令以启动服务器:

现在,我们可以在浏览器中访问 http://localhost:3000/api/ 并看到“Hello World!”消息的输出。这表明我们已经成功创建了一个基本的 RESTful API。

3.4 处理 HTTP 请求

接下来,我们需要处理 HTTP 请求。在 RESTful API 中,我们使用 HTTP 方法(例如 GET、POST、PUT 和 DELETE)来执行各种操作。为了处理 HTTP 请求,我们需要编写路由处理程序。

让我们添加一些路由来处理 GET 和 POST 请求。在 index.js 文件中添加以下代码:

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

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

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

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

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

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

此代码添加了两个新路由:/users 和 /users(POST)。GET 请求将返回用户数组,POST 请求将添加新用户。

3.5 处理 HTTP 参数

RESTful API 经常需要处理查询参数、请求正文和路由参数。Express 可以帮助我们处理这些参数。

让我们添加一些路由处理程序,以处理查询参数和路由参数。在 index.js 文件中添加以下代码:

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

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

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

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

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

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

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

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

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

此代码添加了新的 GET 路由(/users/:id),可以从路由参数中获取用户 ID。它还将查询参数用于筛选用户列表。

3.6 处理 HTTP 响应

最后,我们需要处理 HTTP 响应。在 RESTful API 中,我们通常使用标准的 HTTP 状态代码和消息正文来响应客户端请求。

我们可以使用 Express 提供的 res(响应)对象来设置状态代码、响应头和消息正文。

让我们添加一些路由处理程序,以演示如何处理 HTTP 响应。在 index.js 文件中添加以下代码:

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

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

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

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

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

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

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

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

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

此代码添加了一个 POST 路由,以演示如何处理无效请求(在此示例中为缺少名称)。它还使用 HTTP 状态代码和消息正文来响应请求。

注意,我们还使用了 Express 提供的 express.json() 中间件来解析 POST 请求正文。

4. 总结

使用 Node.js 和 Express 可以快速构建 RESTful API,以下是构建基本 RESTful API 的步骤:

  1. 安装和初始化 Express。
  2. 创建路由。
  3. 处理 HTTP 请求。
  4. 处理 HTTP 参数。
  5. 处理 HTTP 响应。

在本文中,我们演示了如何使用 Express 在几行代码中构建一个简单的 RESTful API。Node.js 和 Express 提供了大量的功能和工具,使我们可以轻松地构建强大和高性能的 Web 应用程序。

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

纠错
反馈