如何在'info'GraphQL中更新selectionset?

zpf6vheq  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(209)

上下文

我在python(graphql-core-3)中使用graphql,我有一个类似这样的graphql查询。

query One {
  library(id: "library_1") {
    name
    book {
      title
      __typename
    }
    __typename
  }
}

当我调查的时候 info 对象 info.field_nodes[0].selection_set.selections 我有一套精选的 FieldNodes 看起来是这样的:

<class 'graphql.language.ast.SelectionSetNode'>
<class 'graphql.pyutils.frozen_list.FrozenList'> [FieldNode at 45:49, FieldNode at 54:95, FieldNode at 100:110]

# FieldNode at 45:49

name

# FieldNode at 54:95

book {
  title
  __typename
}

# FieldNode at 100:110

__typename

问题

在我的第二个查询集中,我添加了 results 字段来 Package 我的数据。

query All {
  allLibrary {
    results {
      name
      book {
        title
        __typename
      }
      __typename
    }
    __typename
  }
}

不幸的是,这会导致一个问题,因为查询集是从 allLibrarylibrary 就像第一个例子一样。这种结构的后果是 info.field_nodes[0].selection_set.selections 不正确地解析字段。滑雪,所有我感兴趣的领域( name , book , __typename ).

<class 'graphql.language.ast.SelectionSetNode'>
<class 'graphql.pyutils.frozen_list.FrozenList'> [FieldNode at 14:147, FieldNode at 133:143] 

# FieldNode at 31:128

results {
  name
  book {
    title
    __typename
  }
  __typename
}

# FieldNode at 133:143

__typename

问题:

我怎样才能修好我的车 info.field_nodes[0].selection_set 因此,它获取了 FieldNode 正确地

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题