Middleware
req, res, next로 공통
로깅이나 CORS 처리를 먼저 수행합니다.
파이프라인은 한 줄로만 지나가지 않습니다. 인증 실패나 유효성 검사 실패는 핸들러 전에 끝나고, 성공 응답은 인터셉터를 다시 지나갑니다.
req, res, next로 공통
로깅이나 CORS 처리를 먼저 수행합니다.
canActivate()가 false이거나 예외를 던지면 컨트롤러는
실행되지 않습니다.
캐시 조회, 실행 시간 측정 시작, 트랜잭션 준비처럼 핸들러 앞을 감쌉니다.
@Param()과 @Body() 값이 타입 변환과 DTO
검사를 통과해야 합니다.
서비스 호출과 비즈니스 로직은 앞 단계가 허용한 요청만 처리합니다.
Observable 응답을 map()으로 감싸거나 예외를 다른
형식으로 바꿉니다.
JWT 검증 실패나 역할 불일치는 라우트 핸들러를 호출하지 않고 응답으로 끝납니다.
ParseIntPipe나 ValidationPipe가 잘못된
매개변수를 발견하면 BadRequestException을 만듭니다.
컨트롤러 반환값에 statusCode, message,
data 같은 공통 포장을 붙일 수 있습니다.