NestJS · Middle · Pytanie 9 z 75
Jak napisać własny dekorator parametru, np. @User()?
export const User = createParamDecorator((data: unknown, ctx: ExecutionContext) => {
return ctx.switchToHttp().getRequest().user;
});- 1Przez
@Injectable()na funkcji - 2To niemożliwe; istnieją tylko wbudowane dekoratory
- ✓Poprawna odpowiedź: Przez
createParamDecorator, który czyta z kontekstu wykonania i zwraca wartość dla parametru
Wyjaśnienie
Własne dekoratory mogą też przyjmować dane (@User('email')) i łączyć się z pipes, np. @User(new ValidationPipe()).