Middleware

NestJS 🟡 Mid

Definition

Fonction ou classe executee avant le route handler, avec acces a request, response et next(). Compatible avec les middlewares Express/Fastify.

Analogie

Comme un agent de securite a l'entree d'un immeuble : il verifie ton badge avant de te laisser monter.

Exemple de code

@Injectable()
export class LoggerMiddleware implements NestMiddleware {
  use(req: Request, res: Response, next: NextFunction) {
    console.log(`${req.method} ${req.url}`);
    next();
  }
}

Cas d'usage

Logger les requetes, parser des headers custom ou modifier la requete avant qu'elle atteigne le controller.

Anti-pattern

Utiliser un middleware pour de la logique metier specifique a une route au lieu d'un interceptor ou guard.
#core#interview