Middleware
Express `req`, `res`, `next`를 직접 다루며 로깅, CORS, 초기 인증 힌트에 적합합니다.
consumer.apply(Logger)
같은 요청 처리라도 “언제 실행해야 하는가”와 “무엇에 접근해야 하는가”가 다릅니다. 실행 시점을 먼저 고정하면 데코레이터 선택이 쉬워집니다.
Express `req`, `res`, `next`를 직접 다루며 로깅, CORS, 초기 인증 힌트에 적합합니다.
핸들러 실행 전에 인증·권한 조건을 판정해 `true` 또는 예외로 흐름을 나눕니다.
`@Param`, `@Body` 값을 컨트롤러 직전에 검증합니다.
응답 변환, 캐싱, 실행 시간, 예외 매핑을 감쌉니다.
라우트 접근 여부를 막는가? 그러면 Guard입니다.
인자를 바꾸거나 거절하는가? 그러면 Pipe입니다.
응답을 감싸거나 측정하는가? 그러면 Interceptor입니다.