0

考虑 2 个服务(A 和 B)。B 扩展了在 A 中定义的类型,但还添加了一个不在 A 中的新字段。但是,A 中返回该类型的解析器不会解析 B 引入的该字段(返回null)。Apollo Docs提到 B 应该解析该字段,因为 B 引入了它,但这似乎不能正常工作,因为该字段总是解析为null.

我正在使用 TS、TypeGraphql 并且有一个类似于示例文档的配置。

类型如下所示:

服务A

@Directive(`@key(fields: "_id")`)
@ObjectType()
export class Foo {
  @Field(() => String)
  readonly _id!: ObjectId;

  // this field resolves fine because it was defined in A
  @Field(() => Bar, { nullable: true })
  bar?: Bar;
}

服务乙

@Directive('@extends')
@Directive(`@key(fields: "_id")`)
@ObjectType()
export class Foo {
  @Field(() => String)
  @Directive('@external')
  readonly _id!: ObjectId;

  // this field resolves to null
  @Field(() => Baz, { nullable: true })
  baz?: Baz;
}

有没有人对问题可能是什么有任何建议/有任何解决方案?

4

0 回答 0