NestJS · Middle · Запитання 9 з 75
Як написати власний декоратор параметра на кшталт @User()?
export const User = createParamDecorator((data: unknown, ctx: ExecutionContext) => {
return ctx.switchToHttp().getRequest().user;
});- 1Через
@Injectable()на функції - 2Неможливо: існують лише вбудовані декоратори
- ✓Правильна відповідь: Через
createParamDecorator, що читає з контексту виконання й повертає значення для параметра
Пояснення
Власні декоратори також можуть приймати дані (@User('email')) і поєднуватися з pipes, наприклад @User(new ValidationPipe()).