Decorator Pattern

커스텀 데코레이터 요청 추출

@User 같은 데코레이터는 ExecutionContext에서 인증 결과를 꺼내고, 가드는 그 값이 생기기 전의 접근 조건을 책임집니다.

추출

createParamDecorator

요청 객체에서 user, tenant, locale 같은 값을 꺼내 컨트롤러 매개변수로 직접 주입합니다.

맥락

ExecutionContext

HTTP 요청뿐 아니라 GraphQL, RPC 등 실행 환경에 맞춰 필요한 객체에 접근하는 통로입니다.

보호

Auth Guard

데코레이터가 값을 읽기 전에 가드가 인증 토큰을 검증하고 request.user를 채워야 합니다.

정책 결합

Metadata

SetMetadata나 커스텀 데코레이터로 권한 정보를 붙이고 가드가 Reflector로 읽게 할 수 있습니다.