Custom Decorator
NestJS 🟡 MidDéfinition
Décorateur personalise créé avec createParamDecorator ou applyDecorators pour extraire des données ou combiner des décorateurs existants.
Analogie
Comme créer un raccourci clavier personnalise qui combine plusieurs actions en un seul geste.
Exemple de code
export const CurrentUser = createParamDecorator(
(data: unknown, ctx: ExecutionContext) => {
const request = ctx.switchToHttp().getRequest();
return request.user;
},
);
Cas d'usage
Extraire l'utilisateur courant du token JWT dans chaque handler sans dupliquer le code.
Anti-pattern
Termes liés
En entretien
Explique-moi comment tu créerais un décorateur pour récupérer l'utilisateur courant dans un handler.
J'utilise createParamDecorator, qui reçoit l'ExecutionContext, récupère la request via switchToHttp().getRequest() et retourne request.user. Ça évite de dupliquer l'accès à request.user dans chaque handler.
Quel est l'intérêt d'un décorateur personnalisé par rapport à accéder directement à request.user ?
C'est comme créer un raccourci clavier qui combine plusieurs actions en un seul geste : on factorise la logique d'extraction une seule fois. L'anti-pattern est justement d'accéder à request.user directement partout au lieu de créer ce décorateur réutilisable.
Fiche mise à jour le 2026-09-27