如何用 Express.js 和 MongoDB 搭建 RESTful API

阅读时长 8 分钟读完

RESTful API 是一种很受欢迎的 Web API 设计风格,它可以让我们在网络上建立高效、灵活和可扩展的应用。本文将介绍如何使用 Node.js 上最流行的 Web 框架之一 Express.js 和一个流行的 NoSQL 数据库 MongoDB 来构建 RESTful API。

准备工作

在开始任何实际编码之前,我们需要做一些准备工作。以下是所需的步骤:

  1. 安装 Node.js 和 npm:前往官方网站下载适合您的操作系统的 Node.js,安装完毕后系统会自动安装 npm。
  2. 安装 MongoDB:前往官方网站下载安装向导,根据您的操作系统选择适当的安装包并安装。
  3. 安装 Express.js:打开终端并输入以下命令安装 Express.js:npm install express --save
  4. 安装 Mongoose:Mongoose 是用于连接 MongoDB 数据库的对象模型工具。打开终端并输入以下命令安装:npm install mongoose --save
  5. 安装其他所需的 npm 包。

构建 RESTful API

在本文中,我们将构建一个简单的 RESTful API 来管理用户数据。我们将定义以下功能:

  • 获取所有用户
  • 获取单个用户
  • 创建用户
  • 更新用户
  • 删除用户

1. 创建数据模型

首先我们需要创建一个数据模型来定义用户对象。在 models 文件夹中创建一个新文件 user.js,然后添加以下代码:

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

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

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

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

在这个代码段中,我们使用 Mongoose 创建了一个新的用户数据模型。该模型包含 nameemailphone 这三个字段。

2. 配置数据库连接

在应用程序的根目录中,我们需要创建一个名为 db.js 的新文件来定义数据库连接代码。我们将使用 Mongoose 连接 MongoDB 数据库。添加以下代码:

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

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

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

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

在这个代码段中,我们首先将全局 Promise 设置为 Mongoose Promise,并使用 mongoose.connect() 方法连接到本地 MongoDB 数据库。在成功连接数据库时,我们需要输出“连接成功!”的消息。

3. 创建路由

route 文件夹中,我们需要创建一个名为 user.js 的新文件来定义路由和控制器。添加以下代码:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在这个代码段中,我们首先引入 Express.js 和数据模型。接下来,我们创建了五个路由:

  1. GET 请求来获取所有用户。
  2. GET 请求来获取单个用户。
  3. POST 请求来创建用户。
  4. PUT 请求来更新用户。
  5. DELETE 请求来删除用户。

4. 创建应用程序

在根目录中,我们需要创建一个名为 index.js 的文件来启动应用程序。添加以下代码:

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

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

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

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

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

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

在这个代码段中,我们首先引入 Express.js 和 bodyParser 中间件。然后我们使用 app.use() 方法加载路由处理程序。最后,我们使用 app.listen() 方法来启动服务器并监听指定端口。

测试 RESTful API

现在我们已经构建了一个完整的 RESTful API,可以使用 Postman 或者其他 RESTful 客户端工具来测试它。以下是一些基本测试:

  1. 发送 GET http://localhost:3000/users 请求来获取所有用户列表。
  2. 发送 POST http://localhost:3000/users 请求来创建新用户。请求体中需要包含 nameemailphone 三个字段。
  3. 发送 GET http://localhost:3000/users/:id 请求来获取指定 ID 的用户。将 :id 替换为实际 ID。
  4. 发送 PUT http://localhost:3000/users/:id 请求来更新指定 ID 的用户。请求体中需要包含 nameemailphone 三个字段。
  5. 发送 DELETE http://localhost:3000/users/:id 请求来删除指定 ID 的用户。将 :id 替换为实际 ID。

总结

以上就是用 Express.js 和 MongoDB 构建 RESTful API 的全部内容。通过这篇文章,您已经学习到如何使用 Node.js、Express.js 和 MongoDB 来构建具有灵活和可扩展的 RESTful API,它们可以轻松应用在您的项目中。希望这篇文章对您有所帮助!

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

纠错
反馈