MiddlewareConsumer is a helper class in NestJS that provides a fluent API for configuring middleware in a module’s configure() method:

export class AppModule implements NestModule {
  configure(consumer: MiddlewareConsumer) {
    consumer
      .apply(LoggerMiddleware)
      .exclude({ path: 'cats', method: RequestMethod.GET })
      .forRoutes(CatsController);
  }
}
  • apply() accepts one or more middleware classes/functions
  • forRoutes() accepts strings, RouteInfo objects, controllers, or wildcards ('abcd/*splat')
  • exclude() accepts routes to skip, including wildcard patterns
  • All methods are chainable in fluent style