GraphQL:管理架构的层次结构限制

时间:2019-07-19 21:23:29

标签: graphql schema

在我正在开发的模式中,我有一个相对复杂的嵌套对象:

{
    ...
    config: {
        type_1: {
            special_config_1: String!
            special_config_2: Boolean
        }
        type_2: {
            special_config_3: [Int]
        }
    }
}

鉴于graphQL的局限性,我知道维护此层次结构将在graphQL模式中隐含几种新类型:

{
  config: ConfigObject,
}

configObject:

{
  type1: Type1Object,
  type2: Type2Object,
}

Type1Object:

{
  special_config_1: String!
  ...
}

因为这将需要维护许多类型,这将使​​下游查询和变异变得困难,所以我考虑过要做类似的事情:

{
    ...
    config: ConfigObject,
}

ConfigObject:

{
    type_1__special_config_1: String!,
    type_1__special_config_2: Boolean,
    type_2__special_config_3: [Int],
}

可以解决“类型太多”的问题,但是也很笨拙。

在不创建太多类型的情况下在graphQl模式中管理此类分层状态的最佳方法是什么?

0 个答案:

没有答案