📜  MEAN.JS-REST API

📅  最后修改于: 2020-10-22 05:23:46             🧑  作者: Mango


在本章中,我们将看到我们的应用程序使用HTTP方法通过REST API与数据库交互。术语REST代表表示性状态转移,这是一种旨在与Web服务进行通信的体系结构样式, API则表示允许相互之间进行交互的应用程序接口。

首先,我们将创建RESTful API来获取所有项目,创建项目并删除项目。对于每个项目, _id将由MongoDB自动生成。下表描述了应用程序应如何从API请求数据-

HTTP Method URL Path Description
GET

/api/students

It is used to get all the students from collection Student.
POST

/api/students/send

It is used to create a student record in collection Student.
DELETE

/api/students/student_id

It is used to delete a student record from collection Student.

RESTful API路由

我们将首先讨论RESTful API路由中的Post方法。

开机自检

首先,让我们通过REST API在集合Student中创建一条记录。可以在server.js文件中找到此特定情况的代码。供参考,部分代码粘贴在这里-

app.post('/api/students/send', function (req, res) {
   var student = new Student(); // create a new instance of the student model
   student.name = req.body.name; // set the student name (comes from the request)
   student.save(function(err) {
      if (err)
         res.send(err);
         res.json({ message: 'student created!' });
   });
});

执行

您可以在此链接中下载此应用程序的源代码。下载压缩文件;将其提取到您的系统中。打开终端并运行以下命令以安装npm模块依赖项。

$ cd mean-demon-consuming_rest_api
$ npm install

要解析请求,我们需要主体解析器包。因此,运行以下命令以将其包含在您的应用程序中。

npm install --save body-parser

随附的源代码已经具有此依赖性,因此无需运行以上命令,仅用于您的信息。

要运行该应用程序,请导航到新创建的项目目录并使用下面给出的命令运行-

npm start

您将得到确认,如下图所示:

执行

有很多工具可以测试API调用,这里我们使用的是Chrome的一种用户友好扩展程序,称为Postman REST Client

打开Postman REST Client,输入URL作为http:// localhost:3000 / api / students / send ,选择POST方法。接下来,输入请求数据,如下所示-

过帐方法

请注意,我们将名称数据发送为x-www-form-urlencoded 。这会将所有数据作为查询字符串发送到Node服务器。

单击发送按钮以创建学生记录。将显示一条成功消息,如下所示-

学生记录

得到

接下来,让我们从mongodb获取所有学生记录。需要编写以下路线。您可以在server.js文件中找到完整的代码。

app.get('/api/students', function(req, res) {
   // use mongoose to get all students in the database
   Student.find(function(err, students) {
      // if there is an error retrieving, send the error.
      // nothing after res.send(err) will execute
      if (err)
         res.send(err);
      res.json(students); // return all students in JSON format
   });
});

接下来,打开Postman REST Client,输入URL为

http:// localhost:3000 / api / students ,选择GET方法,然后单击Send按钮以获取所有学生。

GET方法

删除

接下来,让我们看看如何通过REST api调用从mongo集合中删除记录。

需要编写以下路线。您可以在server.js文件中找到完整的代码。

app.delete('/api/students/:student_id', function (req, res) {
   Student.remove({
      _id: req.params.student_id
   }, function(err, bear) {
      if (err)
         res.send(err);
      res.json({ message: 'Successfully deleted' });
   });
});

接下来,打开Postman REST Client,输入URL为

http:// localhost:3000 / api / students / 5d1492fa74f1771faa61146d

(此处5d1492fa74f1771faa61146d是我们将从学生集合中删除的记录)。

选择DELETE方法,然后单击Send按钮以获取所有学生。

删除方式

您可以通过对http:// localhost:3000 / api / students / 5d1492fa74f1771faa61146d进行GET调用来检查MongoDB中已删除的数据。