request context

요청 객체에서 컨트롤러 매개변수까지

커스텀 데코레이터는 ExecutionContext에서 HTTP 요청을 꺼내고, 그 안의 특정 데이터를 컨트롤러 인자로 전달한다.

읽는 방향: context → request → selected value전체 요청 객체 대신 필요한 값만 노출한다.

값 추출 경로

1ExecutionContext

Nest가 현재 요청 실행 문맥을 전달한다.

2switchToHttp

HTTP 요청 객체를 꺼낼 수 있는 모드로 전환한다.

3getRequest

Express Request에서 user, headers, params를 읽는다.

4Select

data 인자를 기준으로 user의 일부 필드만 선택할 수 있다.

5Controller

@User("id")처럼 필요한 값이 매개변수로 들어온다.

데코레이터와 파이프의 경계

구분역할예시
Decorator어디서 값을 가져올지 정한다.@User(), @HeaderValue()
Pipe가져온 값이 올바른지 검증하거나 변환한다.ParseIntPipe, ValidationPipe