요청 처리 흐름

요청은 단계마다 통과, 중단, 되돌아오는 경로가 다르다

미들웨어는 req, res, next를 직접 다루고, 가드와 파이프는 핸들러 진입 전에 요청을 막을 수 있으며, 인터셉터는 핸들러 전후에서 응답 스트림을 감싼다.

middleware

공통 전처리와 next()

로깅, CORS, 세션 기반 인증처럼 모든 요청에 적용되는 작업을 먼저 수행하고 다음 단계로 넘긴다.

Express 연결 고리
guard

canActivate()가 라우트 접근 결정

JWT, 역할, 소유권 조건을 확인해 실패하면 컨트롤러 메서드가 실행되기 전에 401 또는 403 응답으로 끝난다.

인증과 인가
pipe

매개변수 변환과 DTO 검증

ParseIntPipeValidationPipe가 핸들러 인자를 정리하고, 잘못된 입력은 BadRequestException으로 끊는다.

데이터 경계
interceptor

전후 로직과 응답 변환

핸들러 호출 전 로깅·캐싱을 넣고, 반환 후에는 RxJS map으로 { statusCode, message, data } 형태를 만든다.

응답 래핑
handler

서비스 호출은 검사를 통과한 뒤

컨트롤러 메서드는 앞 단계에서 정리된 인증 정보와 매개변수를 받아 실제 비즈니스 로직을 호출한다.

도메인 진입점
return

인터셉터를 거쳐 클라이언트로

응답은 인터셉터의 후처리를 지나 최종 JSON으로 내려가며, 예외는 필터가 맡을 수 있다.

후처리 경로