在我正在开发的模式中,我有一个相对复杂的嵌套对象:
{
...
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模式中管理此类分层状态的最佳方法是什么?