在现代 Web 开发中,构建 RESTful API 是一个非常重要的任务。它为客户端提供了一种能够轻松获取和更新数据的方式。在本文中,我们将探讨如何使用 Express.js 和 MongoDB 构建 RESTful API。
准备工作
在开始编写代码之前,我们需要先安装下列工具:
- Node.js 和 npm
- MongoDB
如果你还没有安装它们,请按照官方文档的说明进行安装。
创建项目
首先,我们需要创建一个新项目。打开终端,通过以下命令可以创建一个新的项目目录:
mkdir express-mongo-rest-api cd express-mongo-rest-api
接下来,在项目目录中执行以下命令来初始化一个新的 Node.js 项目:
npm init
随后,你可以根据自己的需求填写一些基本信息,如项目名称、版本号等。此外,还需将以下依赖项添加到项目中:
- express:用于构建 RESTful API 的 Web 框架。
- mongoose:用于与 MongoDB 数据库进行交互的库。
- body-parser:用于解析 HTTP 请求的正文部分。
- nodemon:用于自动重启服务器来方便开发调试。
你可以通过以下命令完成以上操作:
npm i express mongoose body-parser nodemon --save
配置数据库
在继续编写代码之前,我们需要配置数据库并创建示例数据。
首先,我们需要启动 MongoDB 数据库服务。在控制台中执行以下命令:
mongod
接下来,我们需要创建一个新的数据库,比如 test
,你可以根据自己的需求修改名称。通过以下命令可以创建一个新的数据库:
mongo > use test
现在我们需要创建一个新的集合(相当于 SQL 中的表),比如 users
。可以使用以下命令进行创建:
db.createCollection('users')
然后,我们可以向集合中插入示例数据。可以使用以下命令插入一条示例数据:
db.users.insert({ name: 'Alice', age: 28 })
编写代码
现在我们可以开始编写代码了。在项目目录中创建一个新的 index.js
文件,你可以使用以下代码初始化一个新的 Express 应用程序:
-- -------------------- ---- ------- ----- ------- - ------------------ ----- ---------- - ---------------------- ----- -------- - ------------------- ----- --- - --------- ----- ---- - ---------------- -- ---- -- ----- -- ----- -------------------------------------------- -- -- ----------- --- ------------------------------- --------- ---- --- -------------------------- -- ------- ----- ---- - ---------------------- - ----- ------- ---- ------ -- -- ---- ----- ------ - ---------------- --------------- ----- ---- -- - ---------- -------- ---- ------ -- -- ---------------------- -- ------ ---------- ---- -- - --------------- ------ -- - -- ----- - ------------- - --------------- -- -- -- ----- ----------- ---- -- - ----- ---- - --- ------ --------- - ------------- -------- - ------------ --------------- -- - -- ----- - ------------- - ---------- -------- ----- -------- -- -- -- ------------------------------- -- ------ ---------- ---- -- - --------------------------------- ----- ----- -- - -- ----- - ------------- - -------------- -- -- -- ------ ---------- ---- -- - --------------------------------- ----- ----- -- - -- ----- - ------------- - --------- - ------------- -------- - ------------ --------------- -- - -- ----- - ------------- - ---------- -------- ----- -------- -- -- -- -- -- ---- ------------- ---- -- - ------------- ---- ------------------ -- ----- ----- -- - -- ----- - ------------- - ---------- -------- ----- -------- -- -- -- -- ---- --------------- ------- -- ----- ---------------- -- -- ---------------------- -- ---- ----------
让我们来分析一下这段代码:
- 第 1 行引入了 Express.js 库。
- 第 2 行引入了 body-parser 库,用于解析 HTTP 请求的正文部分。
- 第 3 行引入了 mongoose 库,用于与 MongoDB 数据库进行交互。
- 第 5-6 行创建了一个新的 Express 应用程序,并定义了服务器的端口号。
- 第 9 行通过
mongoose.connect()
方法连接 MongoDB 数据库。请记住将 URL 更改为您自己的数据库 URL。 - 第 12-13 行使用
app.use()
方法将 body-parser 中间件注册到应用程序中,以便解析请求正文。 - 第 16-19 行定义了一个名为
User
的数据库模型,它将用于与 MongoDB 集合中的文档进行交互。 - 第 22-38 行定义了一个名为
router
的新路由器,并定义了下列固定路由:/
:GET 请求,返回 JSON 数据,标识 API 服务正在运行。/users
:HTTP 客户端可以通过 GET、POST 方法访问该路由,以获取所有用户、创建新用户。/users/:user_id
:HTTP 客户端可以通过 GET、PUT 和 DELETE 方法访问该路由,以获取、更新和删除单个用户。
- 第 41-42 行使用
app.use()
方法将路由器注册到应用程序中,并使用/api
前缀指定了路由器的根路径。 - 第 45 行启动 Express 应用程序并指定端口号。
测试 API
现在我们已经编写了完整的 API 代码,我们可以通过 Postman、curl、浏览器或其他任何 HTTP 客户端对其进行测试。
我们可以运行以下命令来启动服务器:
nodemon index.js
你应该能够看到一条消息,“Listening on port 3000”。
接下来,打开 Postman,输入如下 URL:
http://localhost:3000/api/users
现在你应该可以看到所有项目的用户数据。在 Postman 中,你还可以使用其他请求方法、参数和正文来测试每个路由。
总结
本文演示了如何使用 Express.js 和 MongoDB 构建 RESTful API,同时也演示了如何对其进行测试。
考虑到本文中的示例非常简单,但是,它已经可以帮助开发人员了解如何使用 Node.js、Express.js 和 MongoDB 开发现代 Web 应用程序。
最后,我们鼓励你自己动手开发一个 RESTful API,以提高自己的编程技能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64d38345b5eee0b525b26b67