我正在使用一个GraphQL端点,我得到的结果包含edges和node标签。我为我的查询提供了一个干净的JSON结构,所以这对我来说没有意义。看起来GraphQL服务器污染了我的数据,没有明显的好处。为什么GraphQL端点的响应中包含了这些术语,有没有可能去掉这些术语,以便更快/更简单地解析数据?
edges
node
c2e8gylq1#
让我们用简单的话开始简短的介绍GraphQL继电器规格
pageInfo
hasNextPage
hasPreviousPage
startCursor
endCursor
GraphQLList
cursor
https://facebook.github.io/relay/graphql/connections.htm
节点:
connectionArgs(first, last, after, before)
first/last
after/before
还有很多事情需要考虑,如nodeDefinitions、globalFieldId、nodeInterfaceshttps://github.com/graphql/graphql-relay-js#object-identification
nodeDefinitions
globalFieldId
nodeInterfaces
fiei3ece2#
GraphQL是Graph Query Language的缩写,有两个部分:服务器和客户端。服务器有效地在数据库前面放置了一个图结构,您的查询正在遍历该图。在计算机科学中:
*graph是网络
综合考虑所有这些,GraphQL查询有效地要求GraphQL服务器示例遍历其数据图并找到该数据的一些表示。您将在查询中看到edges和node,因为您实际上正在查看图表中的这些条目。allXYZ记录的典型查询如下所示:
allXYZ
{ _allXYZ { edges { node { // your data shape will be in here } } } }
2条答案
按热度按时间c2e8gylq1#
让我们用简单的话开始简短的介绍
GraphQL继电器规格
连接:
edges
、pageInfo
…的元数据的对象的集合。hasNextPage
、hasPreviousPage
、startCursor
、endCursor
hasNextPage
将告诉我们是否有更多可用的边,或者我们是否已经到达连接的终点。GraphQLList
,但没有分页等功能,只有对象数组(数据)node
:记录或数据cursor
:base64编码字符串,以帮助中继分页https://facebook.github.io/relay/graphql/connections.htm
节点:
connectionArgs(first, last, after, before)
设置需要显示的节点数中继分页功能为
first/last
x x记录返回一个切片,通过connectionArgs使用after/before
用于使用节点中的游标向GraphQL服务器指示所需切片(数据)的数量还有很多事情需要考虑,如
nodeDefinitions
、globalFieldId
、nodeInterfaces
https://github.com/graphql/graphql-relay-js#object-identification
fiei3ece2#
GraphQL是Graph Query Language的缩写,有两个部分:服务器和客户端。服务器有效地在数据库前面放置了一个图结构,您的查询正在遍历该图。
在计算机科学中:
*graph是网络
*边是节点之间的链接之一
综合考虑所有这些,GraphQL查询有效地要求GraphQL服务器示例遍历其数据图并找到该数据的一些表示。您将在查询中看到
edges
和node
,因为您实际上正在查看图表中的这些条目。allXYZ
记录的典型查询如下所示: