介绍
在Web应用程序开发中,REST API是一种广泛使用的通信协议。这种协议基于HTTP,用于在客户端和服务器之间传递数据。 在过去,开发人员需要使用Java或PHP等后端技术来构建REST API。 但是随着Node.js的出现,人们可以使用Express.js作为服务器框架,并结合使用MongoDB来创建一个完整的Web应用程序。
在本教程中,您将学习如何使用Express.js和MongoDB创建REST API。我们将涵盖以下主题:
- 安装和配置Express.js
- 安装和配置MongoDB
- 创建Restful API端点
- 连接MongoDB数据库
- 编写数据模型
- 查询和更新数据
1. 安装和配置Express.js
首先,您需要安装Node.js和npm。Node.js是一种广泛使用的JavaScript运行时环境,而npm是Node.js默认包管理器。
要安装Express.js,请使用以下命令:
npm install express --save
然后,您需要创建一个名为server.js的文件。在此文件中,您需要配置Express。将以下内容添加到server.js文件的开头:
var express = require('express'); var app = express();
在此代码中,我们导入并初始化Express.js。 接下来,您需要定义端口和REST API终点。 将以下代码添加到server.js文件的底部:
var port = process.env.PORT || 8080; app.listen(port); console.log('Server started on port ' + port);
在这个代码片段中,我们定义了端口并启动了服务器。 随时访问端点时,请使用http://localhost:8080
现在,我们已经完成Express.js的配置。
##2. 安装和配置MongoDB
MongoDB是一个流行的开源NoSQL数据库。它可以处理大型数据集并与Node.js一起使用。 在本教程中,我们将使用MongoDB作为我们的后端数据库。
要安装MongoDB,请使用以下命令:
npm install mongodb --save
然后,您需要创建一个名为config.js的文件,将以下内容添加到此文件中:
module.exports = { url: 'mongodb://localhost/your-database-name' }
在这个代码中,我们定义了MongoDB服务的URL和数据库名称。
##3. 创建 Restful API 端点
我们将创建两个REST API端点/api
,一个用于创建新条目,另一个用于检索现有条目。 在server.js文件中添加以下代码:
-- -------------------- ---- ------- --- ---------- - ----------------------- ------------------------------- --------- ---- ---- --------------------------- --- ------ - ----------------- --------------- ------------- ---- - ---------- -------- -------- -- --- ----- --- --- ---------------- -------- ----- ---- - ---------------------- -------------- ------- -- ----------- --- --------------- --------
在此代码片段中,我们使用body-parser
库解析传入的请求正文。 我们使用Express路由定义了两个REST API端点。 第一个端点返回简单的欢迎消息。第二个端点使用控制台输出传入的JSON数据。
要测试此REST API端点,请在命令行中输入以下内容:
curl http://localhost:8080/api curl -H "Content-Type: application/json" -X POST -d '{"name":"test"}' http://localhost:8080/api
4. 连接MongoDB数据库
现在我们已经学习了如何设置Express路由和RESTful API端点,让我们向应用程序添加MongoDB。
要连接MongoDB,请在server.js文件中使用以下代码:
var mongoose = require('mongoose'); var config = require('./config'); mongoose.connect(config.url);
在此代码片段中,我们使用mongoose库连接到MongoDB。
5. 编写数据模型
我们将创建一个简单的数据模型来存储数据。 在models文件夹中,创建一个名为item.js的文件,并输入以下内容:
var mongoose = require('mongoose'); var Schema = mongoose.Schema; var ItemSchema = new Schema({ name : String, }); module.exports = mongoose.model('Item', ItemSchema);
在此代码中,我们定义了一个名为“Item”的Collections,并给集合添加了一个名为“name”的属性。
6. 查询和更新数据
在server.js文件中,使用以下代码向restful API添加MongoDB CRUD操作:
-- -------------------- ---- ------- --- ---- - ----------------------------- ---------------------- ------------------- ---- - --- ---- - --- ------- --------- - -------------- ----------------------- - -- ----- -------------- ---------- -------- ----- --------- --- --- -- ------------------ ---- - ----------------------- ------ - -- ----- -------------- ---------------- --- --- ------------------------------- ------------------ ---- - --------------------------------- ------------- ----- - -- ----- -------------- --------------- --- -- ------------------ ---- - --------------------------------- ------------- ----- - -- ----- -------------- --------- - -------------- ----------------------- - -- ----- -------------- ---------- -------- ----- --------- --- --- --- -- --------------------- ---- - ------------- ---- ------------------ -- ------------- ----- - -- ----- -------------- ---------- -------- ------------- -------- --- --- ---
在此代码中,我们定义了restful API的许多端点。 稍后,您可以使用这些端点执行HTTP操作来执行MongoDB CRUD操作。 下面是如何使用这些端点:
curl -H "Content-Type: application/json" -X POST -d '{"name":"test"}' http://localhost:8080/api/items curl http://localhost:8080/api/items curl http://localhost:8080/api/items/:item_id curl -H "Content-Type: application/json" -X PUT -d '{"name":"test"}' http://localhost:8080/api/items/:item_id curl -X DELETE http://localhost:8080/api/items/:item_id
结论
在此教程中,我们学习了如何使用Express.js和MongoDB创建REST API。我们涵盖了搭建Express.js服务器和RESTful API端点,连接MongoDB和定义数据模型以及查询和更新数据。 通过使用本教程中的知识和示例代码,您可以轻松创建自己的Web应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f225a3a44b36ee57640c4b