Lesson 9 / 33
Middleware
Intercept and process requests before they reach controllers.
Write middleware
Middleware is a function or class that runs before/after a route handler.
import { Injectable, NestMiddleware } from '@nestjs/common';
import { Request, Response, NextFunction } from 'express';
@Injectable()
export class LoggerMiddleware implements NestMiddleware {
use(req: Request, res: Response, next: NextFunction) {
console.log(`${req.method} ${req.path}`);
next();
}
}Apply middleware
Apply in configure() method of a module, specifying routes to intercept.
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer
.apply(LoggerMiddleware)
.forRoutes('users'); // or use { path: 'users', method: RequestMethod.GET }
}
}