В Nest.js промежуточное программное обеспечение может применяться в модуле для определенных маршрутов, но когда я использую graphql, применение промежуточного программного обеспечения может не работать
auth.module.ts
export class AuthModule implements NestModule {
public configure(consumer: MiddlewareConsumer) {
consumer
.apply(
bodyValidatorMiddleware,
)
.forRoutes(AuthResolver);
}
}
bodyValidatorMiddleware.ts
export const bodyValidatorMiddleware: MiddlewareFunction =
async (req: Request, res: Response, next: Function) => {
const result = validate(req.body, authUserSchema);
if (result.error) {
const errorMessage = result.error.details.shift().message;
const message: string = errorMessage.replace(/["]/g, '');
return next(new BadRequestException(`Validation failed: ${message}`));
}
next();
};
Если это промежуточное программное обеспечение работает, оно проверит запрос в промежуточном программном обеспечении.
Кто-нибудь может ответить на мой вопрос?
Большое спасибо