node.js - express

5714 ワード

💡 概要
Node.jsはJavaScript実行エンジンです.ここで返されるフレームワークにはexpressがあります.
Expressは,サーバ作成中に不便を解消し,利便性を高めたWebサーバフレームワークである.
expressにはhttp通信のための付加機能があり、reqおよびresオブジェクトの付加機能が与えられる.
💡 ReqとResとは?(リクエストと応答について)
サーバは、クライアントからのリクエストを受信し、クライアントに応答を送信します.逆に、クライアントはサーバに要求を送信し、サーバから応答を受信します.したがって、サーバには、リクエストを受信し、応答を送信する部分が必要です.
reqオブジェクトにはリクエストに関する情報が含まれ、resオブジェクトには応答に関する情報が含まれます.
💡 RESTおよびRESTfulサーバ
RESTとは、サーバ上のリソースを定義し、リソースのアドレスを指定する方法です.そして、RESTに従うサーバを「RESTful」と表す.
住所は名詞で構成され、意味を明確に伝える.例えば、アドレスが/userの場合、ユーザに関する情報が要求されたと推測され、/postは、投稿が要求されたリソースと推定される.(住所は選択次第ですが、意味をよりよく伝えるために住所を指定する必要があります)
しかし,アドレスだけではどのような動作をするのか分かりにくいため,RESTはアドレスの他にhttpリクエストメソッドを用いる.httpリクエストメソッドにはget,post,put,deleteなどが含まれる.
すなわち,RESTfulサーバはアドレス+メソッドによりどのような動作を実行するかを指定する.たとえば、/user+getの場合、ユーザーの情報がロードされ、/user+postの場合、新しいユーザーが登録されます.
💡 ルーター
まず、ネットワークにおけるルーティングの概念は...
ルーティングは、あるネットワーク内で通信データを送信する際に最適なパスを選択するプロセスです.最適なパスは、最短距離または最短時間で所与のデータを伝送するパスである.ウィキペディア
expressでいうルーティングの概念は...
ルーティングは、アプリケーション・エンド・ポイント(URI)の定義であり、URIが顧客要求にどのように応答するかである.express
✔️ 注-https://expressjs.com/ko/guide/routing.html
ルータの簡単な例は次のとおりです.
// respond with "hello world" when a GET request is made to the homepage
app.get(**'/'**, **function(req, res) {
  res.send('hello world');
}**);
このルーターはappです.メソッド(アドレス、ミドルウェア)構造を有する.アドレス(’/’)の要求が受信された場合(http 요청 메소드)、미들웨어が実行される.ミドルウェアは、機能を追加したり、悪いリクエストをフィルタリングしたりするために、リクエストと応答を処理します.ルータとエラーハンドルもミドルウェアです.すなわち、一部のルータは、他のルータでミドルウェアとして使用することができる.
💡 ルートをRouterオブジェクトに切断
expressの利点の1つは、ルーティングをきれいに管理できることです.ルーターが多くなるとアプリjsコードが非常に長いため、expressはルータを区切る方法を提供します.
ルータの切断操作は以下のとおりです.
  • ルート作成フォルダ
  • フォルダで使用するルータ
  • を作成します.
  • app.jsに2番目に作成するルータをインポートし、最終ルータのミドルウェアとして
  • を登録する.
    順番に進める.このとき,2番目に作成されたルータは実際の機能のルータであり,3番目にはミドルウェアとしてappに登録される.したがって,2番目のルータ作成時にget,postなどのhttpリクエストメソッドを用いてルータを作成し,3番目のルータをミドルウェアとして登録する際にuse関数を使用する.
    ✔️ 注-https://expressjs.com/ko/guide/using-middleware.html
    app.ルーティングまたはルータ.routeを使用すると、同じアドレスの他のhttpリクエストメソッドを組み合わせて処理できます.
    app.route('/book')
      .get(function(req, res) {
        res.send('Get a random book');
      })
      .post(function(req, res) {
        res.send('Add a book');
      })
      .put(function(req, res) {
        res.send('Update the book');
      });