GQL 方案接受同一键的多个数据结构

GQL scheme to accept multiple data structure for same key

我目前正在我的应用程序中使用 GQL Modules

在下面的数据结构中,content 将有 objectarray

var A = {
  content: {
    text: "Hello"
  }
}

var B = {
  content: {
    banner: [{
      text: "Hello"
    }]
  }
}

如何让 content 接受动态模式?

下面是我累了,但没有工作。请帮忙

type body {
 content: TextContent | [Banner]
}

type Banner {
  text: TextContent
}

type TextContent {
 text: String
}

GraphQL 要求字段始终解析为单个值或列表——它不能解析为任何一个。字段 可以 但是, return 在运行时使用抽象类型(联合或接口)完全不同的类型。所以你可以像这样重构你的模式:

type Body {
  content: Content
}

union Content = TextContent | BannerContent

type TextContent {
  text: String
}

type BannerContent {
  banners: [Banner]
}

然后您将使用片段查询 content

query {
  someField {
    body {
      content: {
        ...on TextContent {
          text
        }
        ...on BannerContent {
          banners
        }

      }
    }
  }
}