În loc să injectezi @Req() req în fiecare metodă pentru a scrie req.user, NestJS oferă funcția createParamDecorator().
Aceasta permite crearea unor decoratoare elegante precum @CurrentUser() sau @CurrentTenant(), care extrag direct proprietatea dorită din contextul de execuție, îmbunătățind considerabil lizibilitatea și facilitând testarea unitară.
Exemplu: Decorator @CurrentUser() cu suport pentru selecție atribut
import { createParamDecorator, ExecutionContext } from '@nestjs/common';
export const CurrentUser = createParamDecorator(
(data: string | undefined, ctx: ExecutionContext) => {
const request = ctx.switchToHttp().getRequest();
const user = request.user;
return data ? user?.[data] : user;
},
);
// Utilizare în controller:
// @Get('profile')
// getProfile(@CurrentUser() user: UserDto, @CurrentUser('email') email: string)
Întrebări & Exemple de Cod:
Decoratoare Personalizate de Parametri cu createParamDecoratorAi o nelămurire despre utilizarea comenzii
Decoratoare Personalizate de Parametri cu createParamDecoratorsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.