regex - Nestjs: middleware para todas las rutas excepto /auth
He empezado con NestJS recientemente y quiero aplicar un middleware para todas las rutas, excepto la ruta de autenticación.
En la documentación dice que puedo agregar todos los controladores o rutas donde quiero el middleware, pero encuentro que esta forma es bastante costosa
.forRoutes(
SearchController,
Other,
Other,
Other
);
Así que me gustaría saber si hay una solución, o si lograste usar expresiones regulares para algo como esto:
.forRoutes(
{path: 'All route except /auth', method: RequestMethod.ALL}
);
Respuesta #1
Hoy en día usamos la función exclude.
export class YourModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer
.apply(YourMiddleware)
.exclude('auth')
.forRoutes('*');
}
}
Para más información: https://docs.nestjs.com/middleware#excluding-routes
Respuesta #2
DOC: https://docs.nestjs.com/middleware TÍTULO: Exclusión de rutas
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(LoggerMiddleware).forRoutes('*')
consumer.apply(tokenVerify).exclude('/auth').forRoutes('*')
} }
Usa /auth/(.*) en caso de que tengas rutas como /auth/login, /auth/register, etc.
