在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();
};
如果此中间件正在运行,它将在中间件中检查请求。
任何人都可以回答我的问题吗?
非常感谢