Node.js

[NestJs] Custom Decorator

무서운승태 2023. 12. 28. 20:20
728x90

나만의 데코레이터 만들어보기

export const User = createParamDecorator((data, context: ExecutionContext) => {
    const req = context.switchToHttp().getRequest();

    const user = req.user as UsersModel;

    return user;
});
  1. User는 데코레이터의 이름이 된다.
  2. createParamDecorator 함수를 사용한다.
  3. 첫 번째 인자 data는 데코레이터의 인자값을 받아올 수 있다. (아래에서 id를 가져올 수 있다.)

   4. 두 번째 인자 context는 ExcutionContext 타입이다. 이것을 활용해 요청 객체를 받아올 수 있다.