← NestJS コース
18. リクエストのライフサイクル全体像
ここまで学んだ部品は、1つのリクエストに対して決まった順序で実行されます。大きな流れは「ミドルウェア → ガード → インターセプター(前) → パイプ → ハンドラ → インターセプター(後)」で、途中で投げられた例外は例外フィルタが受け止めます。
実務でこの順序が効いてくるのはデバッグのときです。「ガードで弾かれたリクエストはパイプに到達しない」「ミドルウェアはガードより先に動く」と知っていれば、ログがどこまで出ているかから問題の発生箇所を素早く絞り込めます。
下のコードは主要な4段階(ミドルウェア → ガード → パイプ → ハンドラ)を関数の入れ子で再現したものです。外側の関数ほど先に動き、途中で弾かれると内側は実行されない、という構造がライフサイクルの本質です。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
TypeScript