如何在REST和GraphQL中使用相同的RoleGuard?
我有一个问题: 区别在于我需要为我的应用程序支持GraphQL和REST,但实际上,我无法找到任何方法为GraphQL和REST使用相同的RoleGuard,因为它们的上下文不同。我自己解决了这个问题如何在REST和GraphQL中使用相同的RoleGuard?,rest,graphql,nestjs,guard,Rest,Graphql,Nestjs,Guard,我有一个问题: 区别在于我需要为我的应用程序支持GraphQL和REST,但实际上,我无法找到任何方法为GraphQL和REST使用相同的RoleGuard,因为它们的上下文不同。我自己解决了这个问题 let user: User; if (context.getType() === 'http') { user = context.switchToHttp().getRequest().user; } else if (context.getType&l
let user: User;
if (context.getType() === 'http') {
user = context.switchToHttp().getRequest().user;
} else if (context.getType<GqlContextType>() === 'graphql') {
const ctx = GqlExecutionContext.create(context);
user = ctx.getContext().req.user;
}
让用户:用户;
if(context.getType()=='http'){
user=context.switchToHttp().getRequest().user;
}else if(context.getType()=='graphql'){
const ctx=GqlExecutionContext.create(context);
user=ctx.getContext().req.user;
}