Nest.js는 사용자의 요청이 있을 때 아래의 단계를 거친다.
요청
middleware (미들웨어)
guards (가드)
pre-interceptors (인터셉터)
Pipes (파이프)
Controller (컨트롤러)
Service
post-interceptor (인터셉터)
exception filters (필터)
응답 (reponse)
물론 미들웨어에서 요청 데이터를 변환하거나 필터에서 응답데이터를 변환해도 되지만
NestJS가 정해둔 AOP패턴에 맞게 해주어야 나중에 문제가 생겼을때 관심사를 독립적으로 구분하여 살펴 볼 수 있는 것이다.