Middlewares

Middlewares are providers classes decorated with the @Middleware() decorator. The class, though, must implement the MiddlewareHandler interface.

@Middleware()
export class TestMiddleware implements MiddlewareHandler {
  handler(req: Request, res: Response, next: NextFunction): void {
    // Logic.
    next();
  }
}
Controller /page
Controller Middleware
Route Middleware
Route Middleware
Route Middleware
Route Handler
Route Handler
Route Handler

The middlewares can be placed both at Controller and Route time by using the @UseMiddleware() decorator.

@UseMiddleware(TestMiddleware)
@Controller('/test')
class TestMiddlewareController {
  
  @UseMiddleware(TestMiddleware)
  @Get('/test-method')
  testMethod() {
    // Logic.
  }
}