![見出し画像](https://assets.st-note.com/production/uploads/images/99487085/rectangle_large_type_2_24f0d0993d98772d4a4e4a5531f3dea2.png?width=1200)
The Web Developer Bootcamp 2023 セクション40/61
このブログ投稿では、Node.jsの人気WebフレームワークであるExpressにおけるミドルウェアの概念について説明します。Expressは、一連のミドルウェア関数を使用することで、開発者が堅牢なWebアプリケーションを構築できる最小かつ柔軟なフレームワークです。これらの関数は、Expressのリクエストとレスポンスのライフサイクル中に実行され、リクエストとレスポンスのオブジェクトにアクセスすることができます。
Expressのミドルウェア関数は、リクエストとレスポンスのオブジェクトに変更を加えたり、リクエストとレスポンスのサイクルを終了したり、チェーンの次のミドルウェアを呼び出したりするために使用することができます。ビデオでは、ミドルウェア関数が定義された順番に実行され、次のパラメータを呼び出すことで次のミドルウェアが実行されることを説明しています。また、app.use()メソッドを使用することで、Expressアプリケーションにミドルウェア機能を追加することができることにも触れています。
また、Morganという外部ミドルウェアについても言及。Morganは、HTTPリクエスト情報をターミナルにロギングするために使われる、一般的でシンプルなツールです。これは、アプリケーションのデバッグ時によく使用されるツールです。MorganをExpressアプリケーションにインストールし、使用する方法を説明します。
また、Expressでカスタムミドルウェア関数を作成する方法を紹介します。この偽認証の例では、「password」というクエリー文字列をチェックし、パスワードが「chicken nugget」と等しい場合にのみリクエストを続行させるミドルウェア関数を設定しています。このミドルウェアはすべての経路で実行されていると説明しますが、特定の経路でのみミドルウェアを使用する方法を紹介します。ミドルウェアの関数に「verify password」などの名前を付け、ルート内の最初のミドルウェアとして渡すことで、ミドルウェアを特定のルートにのみ適用する方法を示しています。
これはWeb開発でよくあるパターンであり、複数のミドルウェア機能を連鎖させることができることを紹介しています。また、ミドルウェアの関数に名前をつけておくと、匿名関数を使うよりも読みやすく、再利用しやすくなることも紹介されています。
以上、ミドルウェアはExpressの重要なコンセプトであり、カスタムミドルウェアの定義と使用方法を理解することは、より大規模なExpressアプリケーションを構築する上で重要です。講師は、カスタムミドルウェアの関数の書き方、Morganのような外部ミドルウェアのインストールと使用方法、特定のルートにミドルウェアを適用する方法を実演しています。なお、これはミドルウェアを作成し、クエリ文字列から何かをチェックするという簡単なデモであり、実際の認証方法ではないことに注意してください。