无法在nest.js中的graphql解析器模块中应用中间件?

时间:2019-04-09 02:16:00

标签: graphql nestjs

在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();
  };

如果此中间件正在运行,它将在中间件中检查请求。

任何人都可以回答我的问题吗?

非常感谢

0 个答案:

没有答案