Reflector
2026년 5월 17일
- 리플렉터(Reflector)는 이러한 메타데이터(메타데이터(Metadata))를 읽고 조작할 수 있게 해주는 NestJS의 유틸리티 클래스(class)이다.
메서드(Method)
get()
- 메타데이터(메타데이터(Metadata)) key를 사용하여 값을 조회한다.
getAllAndOverride()
- 여러 스코프(Scope)에서 메타데이터(메타데이터(Metadata))를 조회하고 오버라이드한다.
getAllAndMerge()
- 여러 스코프(Scope)의 메타데이터(메타데이터(Metadata))를 병합한다.
예시
TypeScript
리플렉터의 작동 방식:
-
데코레이터를 통해 메타데이터 저장
-
가드에서 리플렉터로 메타데이터 조회
-
조회된 메타데이터를 기반으로 접근 제어 로직 실행
이렇게 리플렉터를 사용하면 선언적으로 접근 제어를 구현할 수 있으며, 코드의 재사용성과 유지보수성이 향상됩니다.