Meanjs-rest-api

提供:Dev Guides
移動先:案内検索

MEAN.JS-REST API

この章では、HTTPメソッドを使用して、REST APIを介してデータベースと対話するアプリケーションについて説明します。 _REST_という用語は、Webサービスと通信するように設計されたアーキテクチャスタイルであるREpresentational State Transferを表し、_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メソッドについて説明します。

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!' });
   });
});

実行

このアプリケーションのソースコードは、次のリンクからダウンロードできます:[リンク]。 zipファイルをダウンロードします。システムでそれを抽出します。 ターミナルを開き、以下のコマンドを実行してnpmモジュールの依存関係をインストールします。

$ cd mean-demon-consuming_rest_api
$ npm install

リクエストを解析するには、ボディパーサーパッケージが必要です。 したがって、以下のコマンドを実行して、アプリケーションに含めます。

npm install --save body-parser

添付のソースコードには既にこの依存関係があります。したがって、上記のコマンドを実行する必要はありません。これは単なる情報です。

アプリケーションを実行するには、新しく作成したプロジェクトディレクトリに移動し、以下のコマンドで実行します-

npm start

以下の画像に示すように、確認が得られます-

実行

API呼び出しをテストするための多くのツールがあります。ここでは、_Postman REST Client_と呼ばれるユーザーフレンドリーなChrome拡張機能を使用しています。

Postman RESTクライアントを開き、URLに http://localhost:3000/api/students/send を入力し、_POST method_を選択します。 次に、以下に示すように要求データを入力します-

投稿方法

名前データを_x-www-form-urlencoded_として送信していることに注意してください。 これにより、すべてのデータがクエリ文字列としてNodeサーバーに送信されます。

[送信]ボタンをクリックして、学生レコードを作成します。 以下に示すように成功メッセージが表示されます-

学生記録

GET

次に、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クライアントを開き、URLを次のように入力します

*_http://localhost:3000/api/students _* 、_ GET_メソッドを選択し、送信ボタンをクリックしてすべての生徒を取得します。

GETメソッド

DELETE

次に、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クライアントを開き、URLを次のように入力します

*_http://localhost:3000/api/students/5d1492fa74f1771faa61146d_*

(ここで、5d1492fa74f1771faa61146dは、コレクションStudentから削除するレコードです)。

_DELETE_メソッドを選択し、_Send_ボタンをクリックして、すべての生徒を取得します。

メソッドの削除

*_http://localhost:3000/api/students/5d1492fa74f1771faa61146d_* に対してGET呼び出しを行うことにより、削除されたデータのMongoDBを確認できます。