在 Node.js 中使用 Express 构建 RESTful API

阅读时长 7 分钟读完

介绍

RESTful API 是一种采用 REST 架构风格的 API,它以 HTTP 协议为基础,使用标准的 HTTP 方法来实现资源的管理。Express 是一个非常流行的 Node.js 框架,它提供了便捷的方式来构建和管理 RESTful API。

在本文中,我们将介绍如何使用 Express 构建 RESTful API,并提供一个实际的示例,帮助你更好地理解和使用它。

准备工作

在开始之前,你需要安装 Node.js 和 Express。如果你还没有安装,可以去官网下载并按照说明进行安装。

安装完成之后,创建一个新的项目,并在项目目录中使用以下命令安装依赖:

在这里我们使用了三个依赖:Express、body-parser 和 nodemon。其中,Express 是我们构建 API 的核心框架,body-parser 用来解析请求体中的 JSON 数据,nodemon 则可以帮助我们在代码发生变化时自动重启服务器,节省我们的时间。

构建一个简单的 RESTful API

接下来,我们将使用 Express 构建一个简单的 RESTful API。我们可以创建一个文件 index.js,编写以下代码:

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

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

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

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

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

在这个例子中,我们首先引入了 Express 和 body-parser,创建了一个 Express 实例并指定端口号为 3000。接着,我们使用了 app.use() 方法来使用 body-parser 中间件来解析 JSON 数据。

然后,我们使用 app.get() 方法来定义路由。这里我们定义了一个根路由 /,当用户访问该路由时,服务器将返回 "Hello World!"。

最后,我们使用 app.listen() 方法来启动服务器。在命令行中使用 nodemon index.js 命令来运行服务器,你将看到类似以下内容的输出:

现在,我们可以在浏览器中访问 http://localhost:3000/,看到 "Hello World!" 的输出了。

添加资源路由

接下来,让我们添加一些资源路由。我们可以定义一个 users 数组来存储用户信息,然后使用 app.route() 方法来定义路由:

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

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

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

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

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

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

在这个例子中,我们首先定义了一个空数组 users 来存储用户信息。然后,我们使用 app.route() 方法来定义 /users 路由。

我们使用 app.route().get() 方法来定义 GET 请求,当用户访问 /users 时,服务器返回 users 数组。使用 app.route().post() 方法来定义 POST 请求,当用户提交一个新用户时,我们将该用户添加到 users 数组中,并返回 "User added!"。

现在,我们可以使用 POST 请求来添加一个新用户:

或者使用 GET 请求来获取所有用户信息:

添加具体资源路由

除了资源路由之外,我们通常还需要为每个具体的资源添加路由。例如,在我们的例子中,我们可以使用 /users/:id 路由来获取具体的用户信息和删除用户。

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

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

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

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

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

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

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

在这个例子中,我们使用了 /users/:id 路由来定义具体的资源路由。可以使用 req.params.id 属性来获取请求 URL 中的 id 参数,并使用 Array.prototype.find() 方法来查找用户信息。我们可以使用 Array.prototype.findIndex() 方法来查找用户信息的索引,并使用 Array.prototype.splice() 方法来删除用户。

现在,我们可以使用 GET 请求来获取具体的用户信息:

或者使用 DELETE 请求来删除一个用户:

总结

在本文中,我们介绍了如何使用 Express 构建 RESTful API,并提供了一个实际的示例。我们首先使用了 app.get() 方法来定义了一个根路由,然后使用 app.route() 方法来定义了资源路由和具体资源路由。希望本文能够帮助你更好地理解和使用 Express。

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

纠错
反馈