KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

커스텀 데코레이터(Custom Decorator)

연결된 노트와 함께 읽기

커스텀 데코레이터(Custom Decorator)

2026년 5월 17일
  • 데코레이터(Decorator)는 비즈니스와 상관 없는 로직들을 숨기면서 기능을 변경하거나 확장할 수 있다.

  • 여러 클래스(class)에서 반복되는 공통 관심사가 있을 때 데코레이터(Decorator)를 사용하면 중복된 코드를 줄이고 코드를 NestJS 모듈(module) 단위로 관리하는 효과를 거둘 수 있다.

  • 커스텀 데코레이터는 createParamDecorator() 메서드(Method)를 이용하여 선언한다.

예시

  • 커스텀 데코레이터를 만들 때, 파일 이름은 통상적으로 이름.decorator.ts로 선언한다.
  • 아래는 req.user로 사용하지 않고 user로 데이터를 바로 추출할 수 있도록 만드는 데코레이터(Decorator)이다.
TypeScript
import { createParamDecorator, ExecutionContext } from '@nestjs/common'; import { User } from './user.entity'; export const GetUser = createParamDecorator((data, ctx: ExecutionContext): User => { const req = ctx.switchToHttp().getRequest(); return req.user; });

Synapse Map Insight