Express のルーティングとミドルウェアのガイド

ルーティングとミドルウェアは、Web アプリケーションを構築するための Node.js と Express フレームワークにおける 2 つの重要な概念です。

ルーティング:

  • ルーティングは、クライアントからのリクエストを処理し、サーバー上の対応するリソースで応答する方法を決定するプロセスです。
  • Express では、HTTP メソッド (GET、POST、PUT、DELETE など) と対応する URL パスを指定することでルートを定義できます。
  • 各ルートには、リクエストの処理、データベース アクセス、クライアントへの応答の送信などのタスクを実行する 1 つ以上のハンドラー関数を含めることができます。

ミドルウェア:

  • ミドルウェアは、リクエストが最終ルート ハンドラーに到達する前にシーケンスで実行される関数です。
  • これらは、一般的な機能を実行し、認証、ロギング、エラー処理などの中間タスクを処理するために使用されます。
  • ミドルウェアはアプリケーション全体に適用することも、特定のルートに指定することもできます。
  • 各ミドルウェアは、req(リクエスト)パラメータとres(レスポンス)パラメータを受け取り、処理を実行したり、次のミドルウェアにリクエストを渡したり、クライアントにレスポンスを送信して処理を終了したりできます。

Express でルーティングとミドルウェアを組み合わせた例:

const express = require('express');
const app = express();

// Middleware
const loggerMiddleware = (req, res, next) => {
  console.log('A new request has arrived!');
  next();
};

// Apply middleware to the entire application
app.use(loggerMiddleware);

// Main route
app.get('/', (req, res) => {
  res.send('Welcome to the homepage!');
});

// Another route
app.get('/about', (req, res) => {
  res.send('This is the about page!');
});

// Start the server
app.listen(3000, () => {
  console.log('Server is listening on port 3000...');
});

loggerMiddlewareこの例では、サーバーに届くすべての新しいリクエストをログに記録するカスタム ミドルウェアを定義しました。このミドルウェアは、メソッドを使用してアプリケーション全体に適用されますapp.use()'/'次に、メイン ページ ( ) 用とアバウト ページ ( '/about')用の2 つのルートを定義しました。最後に、サーバーを起動し、ポート 3000 でリッスンします。

ミドルウェアはloggerMiddlewareリクエストごとに実行され、シーケンス内の対応するルート ハンドラーまたはミドルウェアにリクエストを渡す前に、コンソールにメッセージを記録します。

このルーティングとミドルウェアの組み合わせにより、Express アプリケーションでさまざまなリクエストを処理し、一般的なタスクを効率的に実行できるようになります。