使用 Express.js 和 MongoDB 创建 RESTful API 的全过程

阅读时长 7 分钟读完

在现代 Web 开发中,构建 RESTful API 是一个非常重要的任务。它为客户端提供了一种能够轻松获取和更新数据的方式。在本文中,我们将探讨如何使用 Express.js 和 MongoDB 构建 RESTful API。

准备工作

在开始编写代码之前,我们需要先安装下列工具:

  • Node.js 和 npm
  • MongoDB

如果你还没有安装它们,请按照官方文档的说明进行安装。

创建项目

首先,我们需要创建一个新项目。打开终端,通过以下命令可以创建一个新的项目目录:

接下来,在项目目录中执行以下命令来初始化一个新的 Node.js 项目:

随后,你可以根据自己的需求填写一些基本信息,如项目名称、版本号等。此外,还需将以下依赖项添加到项目中:

  • express:用于构建 RESTful API 的 Web 框架。
  • mongoose:用于与 MongoDB 数据库进行交互的库。
  • body-parser:用于解析 HTTP 请求的正文部分。
  • nodemon:用于自动重启服务器来方便开发调试。

你可以通过以下命令完成以上操作:

配置数据库

在继续编写代码之前,我们需要配置数据库并创建示例数据。

首先,我们需要启动 MongoDB 数据库服务。在控制台中执行以下命令:

接下来,我们需要创建一个新的数据库,比如 test,你可以根据自己的需求修改名称。通过以下命令可以创建一个新的数据库:

现在我们需要创建一个新的集合(相当于 SQL 中的表),比如 users。可以使用以下命令进行创建:

然后,我们可以向集合中插入示例数据。可以使用以下命令插入一条示例数据:

编写代码

现在我们可以开始编写代码了。在项目目录中创建一个新的 index.js 文件,你可以使用以下代码初始化一个新的 Express 应用程序:

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

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

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

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

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

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

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

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

让我们来分析一下这段代码:

  1. 第 1 行引入了 Express.js 库。
  2. 第 2 行引入了 body-parser 库,用于解析 HTTP 请求的正文部分。
  3. 第 3 行引入了 mongoose 库,用于与 MongoDB 数据库进行交互。
  4. 第 5-6 行创建了一个新的 Express 应用程序,并定义了服务器的端口号。
  5. 第 9 行通过 mongoose.connect() 方法连接 MongoDB 数据库。请记住将 URL 更改为您自己的数据库 URL。
  6. 第 12-13 行使用 app.use() 方法将 body-parser 中间件注册到应用程序中,以便解析请求正文。
  7. 第 16-19 行定义了一个名为 User 的数据库模型,它将用于与 MongoDB 集合中的文档进行交互。
  8. 第 22-38 行定义了一个名为 router 的新路由器,并定义了下列固定路由:
    • /:GET 请求,返回 JSON 数据,标识 API 服务正在运行。
    • /users:HTTP 客户端可以通过 GET、POST 方法访问该路由,以获取所有用户、创建新用户。
    • /users/:user_id:HTTP 客户端可以通过 GET、PUT 和 DELETE 方法访问该路由,以获取、更新和删除单个用户。
  9. 第 41-42 行使用 app.use() 方法将路由器注册到应用程序中,并使用 /api 前缀指定了路由器的根路径。
  10. 第 45 行启动 Express 应用程序并指定端口号。

测试 API

现在我们已经编写了完整的 API 代码,我们可以通过 Postman、curl、浏览器或其他任何 HTTP 客户端对其进行测试。

我们可以运行以下命令来启动服务器:

你应该能够看到一条消息,“Listening on port 3000”。

接下来,打开 Postman,输入如下 URL:

现在你应该可以看到所有项目的用户数据。在 Postman 中,你还可以使用其他请求方法、参数和正文来测试每个路由。

总结

本文演示了如何使用 Express.js 和 MongoDB 构建 RESTful API,同时也演示了如何对其进行测试。

考虑到本文中的示例非常简单,但是,它已经可以帮助开发人员了解如何使用 Node.js、Express.js 和 MongoDB 开发现代 Web 应用程序。

最后,我们鼓励你自己动手开发一个 RESTful API,以提高自己的编程技能。

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

纠错
反馈