我正在尝试使用nest.js和@ nestjs / graphql模块进行api。 我从示例样板here开始。 我在架构中添加/更新了这个:
@Resolver('Cat')
export class CatsResolvers {
constructor(private readonly catsService: CatsService) {}
__resolveType(obj, context, info): string{
return obj.errorCode ? 'GraphQLError' : 'Cat';
}
@Mutation('createCat')
async create(obj, args: Cat, context, info): Promise<Cat | GraphQLError> {
const createdCat = await this.catsService.create(args);
pubsub.publish('catCreated', { catCreated: createdCat });
return createdCat;
}
}
我尝试在CatsResolvers类中定义__resolveType函数:
mutation insertCat {
createCat(name:"kitty", age: 1) {
... on Cat {
name
age,
id
}
... on GraphQLError {
errorCode
message,
type
}
}
}
我尝试使用以下请求插入Cat:
{{1}}
我有错误: 抽象类型MutationResult必须在运行时为具有值“”[object Object] \“的字段Mutation.createCat解析为Object类型,接收到”undefined“。 MutationResult类型应提供\“resolveType \”函数,或者每个可能的类型应提供\“isTypeOf \”函数。
我不知道该怎么做。 似乎在@ nestjs / graphql中没有实现resolveType 谢谢你的帮助!