支持graphql中的union类型

时间:2018-04-08 14:56:56

标签: graphql nestjs

我正在尝试使用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 谢谢你的帮助!

0 个答案:

没有答案