- MEAN.JS 教程
- MEAN.JS - 主页
- MEAN.JS - 概述
- MEAN.JS - 架构
- 构建节点 Web 应用程序
- MEAN.JS - 平均项目设置
- 构建静态路由节点 Express
- MEAN.JS - 构建数据模型
- MEAN.JS - REST API
- 带有 Angular 的前端
- 应用程序中的角度组件
- 使用 Angular 构建单页面
- 构建 SPA:下一级别
- MEAN.JS 有用资源
- MEAN.JS - 快速指南
- MEAN.JS - 有用的资源
- MEAN.JS - 讨论
MEAN.JS - REST API
在本章中,我们将看到应用程序使用 HTTP 方法通过 REST API 与数据库进行交互。术语REST代表 REpresentational State Transfer,它是一种旨在与 Web 服务通信的架构风格,而API代表应用程序编程接口,允许应用程序之间进行交互。
首先,我们将创建 RESTful API 来获取所有项目、创建项目和删除项目。对于每个项目,_id将由 MongoDB 自动生成。下表描述了应用程序应如何从 API 请求数据 -
HTTP方法 | 网址路径 | 描述 |
---|---|---|
得到 | /api/学生 | 它用于从集合 Student 中获取所有学生。 |
邮政 | /api/学生/发送 | 它用于在集合 Student 中创建学生记录。 |
删除 | /api/students/student_id | 它用于从集合 Student 中删除学生记录。 |
RESTful API 路由
我们将首先讨论 RESTful API 路由中的 Post 方法。
邮政
首先,我们通过 REST API 在 Student 集合中创建一条记录。这种特殊情况的代码可以在server.js文件中找到。作为参考,部分代码粘贴在这里 -
app.post('/api/students/send', function (req, res) { var Student = new Student(); // 创建学生模型的新实例 学生.姓名 = 要求.身体.姓名; // 设置学生姓名(来自请求) 学生.保存(函数(错误){ 如果(错误) res.send(错误); res.json({ message: '学生已创建!' }); }); });
执行
您可以在此链接中下载该应用程序的源代码。下载 zip 文件;将其提取到您的系统中。打开终端并运行以下命令来安装 npm 模块依赖项。
$ cd 平均恶魔消耗_rest_api $ npm 安装
为了解析请求,我们需要主体解析器包。因此,运行以下命令以包含在您的应用程序中。
npm install --save body-parser
附加的源代码已经具有此依赖项,因此无需运行上述命令,它仅供您参考。
要运行该应用程序,请导航到新创建的项目目录并使用下面给出的命令运行 -
npm 启动
您将收到如下图所示的确认信息 -
有很多工具可以测试 API 调用,这里我们使用 Chrome 的用户友好扩展之一,称为Postman REST Client。
打开 Postman REST 客户端,输入 URL 作为http://localhost:3000/api/students/send,选择POST 方法。接下来,输入请求数据,如下所示 -
请注意,我们将名称数据作为x-www-form-urlencoded发送。这会将我们的所有数据作为查询字符串发送到节点服务器。
单击发送按钮创建学生记录。将出现一条成功消息,如下所示 -
得到
接下来,让我们从 mongodb 中获取所有学生记录。需要写以下路线。您可以在server.js文件中找到完整代码。
app.get('/api/students', 函数(req, res) { // 使用mongoose获取数据库中所有学生 Student.find(函数(错误,学生) { // 如果检索出错,则发送错误。 // res.send(err) 之后不会执行任何操作 如果(错误) res.send(错误); res.json(学生);// 以 JSON 格式返回所有学生 }); });
接下来,打开 Postman REST 客户端,输入 URL 作为
http://localhost:3000/api/students,选择GET方式,点击发送按钮即可获取所有学生。
删除
接下来,让我们看看如何通过 REST api 调用从 mongo 集合中删除记录。
需要写以下路线。您可以在server.js文件中找到完整代码。
app.delete('/api/students/:student_id', function (req, res) { 学生.删除({ _id: req.params.student_id },函数(错误,熊){ 如果(错误) res.send(错误); res.json({ message: '删除成功' }); }); });
接下来,打开 Postman REST 客户端,输入 URL 作为
http://localhost:3000/api/students/5d1492fa74f1771faa61146d
(这里 5d1492fa74f1771faa61146d 是我们将从 Student 集合中删除的记录)。
选择DELETE方法并单击发送按钮以获取所有学生。
您可以通过对http://localhost:3000/api/students/5d1492fa74f1771faa61146d进行 GET 调用来检查 MongoDB 中是否有已删除的数据。