【问题标题】:How to handle child objects extension in Apollo Federation如何处理 Apollo Federation 中的子对象扩展
【发布时间】:2022-12-18 06:55:20
【问题描述】:

服务一:

type A {
  id: ID!
  embeddedMetaData: MetaData
}
type MetaData{
  fieldA: String
}

服务乙:

type A  @key(fields: "id") {
  id: ID! @external
  #I want to extend and resolve a new field into MetaData type without overriding
}

如何在不覆盖任何其他字段并将其他字段的解析保留在 A 服务中的情况下扩展嵌入式对象?

【问题讨论】:

    标签: graphql apollo-federation


    【解决方案1】:

    您可以通过首先使类型 A 可扩展来扩展服务 B 中的类型 A:

    服务A

    type A @key(fields: "id") {
     id: ID!
      embeddedMetaData: MetaData
    }
    type MetaData{
     fieldA: String
    }
    

    类型 A 现在是一个实体。 您可以在类型 A 上添加新字段,这些字段将由服务 B 解析,如下所示:

    服务B

    extend type A  @key(fields: "id") {
      id: ID! @external
      newField: String
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 2022-12-23
      • 2022-11-10
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 2012-07-28
      相关资源
      最近更新 更多