GraphQL + NestJS - 如何在守卫中访问@Args?

GraphQL + NestJS - how can I access @Args in a guard?

我需要以某种方式从守卫内部的 @Args 访问 objectId,以检查发件人是否已将 objectId 分配到他的帐户。知道如何实施吗?

 @Query(() => [Person])
      @UseGuards(ObjectMatch)
      async pplWithObject(@Args('objectId') id: string): Promise<Person[]> {
        return await this.objService.getPeopleWithObject(id);
      }

是否可以从上下文访问传递的参数?

const ctx = GqlExecutionContext.create(context);
    const request = ctx.getContext().req;

你可以为它使用 GqlExecutionContext,比如:

const ctx = GqlExecutionContext.create(context);
console.log(ctx.getArgs()) // object with your query args
ctx.getArgs()['objectId']

@nestjs/graphql版本:^7.6.0