Il ciclo di vita della richiesta è la sequenza precisa di componenti attraverso cui una richiesta passa in NestJS — middleware, guard, interceptor, pipe, handler, poi di nuovo interceptor, e exception filter in caso di errori. Conoscere l'ordine esatto è cruciale per capire quando ogni pezzo di logica viene eseguito.
L'ordine completo
Incoming Request
│
▼
1. MIDDLEWARE (Express-style; raw req/res; runs first)
│
▼
2. GUARDS (authorization — return true to continue, false/throw to block)
│
▼
3. INTERCEPTORS (pre) (logic BEFORE the handler — start timing, etc.)
│
▼
4. PIPES (validate/transform the handler's arguments — DTO validation)
│
▼
5. ROUTE HANDLER (your controller method runs)
│
▼
6. INTERCEPTORS (post) (logic AFTER the handler — transform the response)
│
▼
Response
✗ If an exception is thrown ANYWHERE above →
7. EXCEPTION FILTERS (catch it and format the error response)
