ルーティングとミドルウェアは、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 アプリケーションでさまざまなリクエストを処理し、一般的なタスクを効率的に実行できるようになります。