De request lifecycle is de precieze reeks componenten waardoor een request in NestJS gaat — middleware, guards, interceptors, pipes, de handler, vervolgens interceptors opnieuw, en exception filters bij fouten. Het kennen van de exacte volgorde is cruciaal om te begrijpen wanneer elk stuk logica wordt uitgevoerd.
De volledige volgorde
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)
