我使用一个特定的GraphQL端点,虽然我提供了一个干净的JSON结构作为查询,但当我得到结果时,我得到了“边”和“节点”标签。它似乎污染了我的数据,但没有明显的好处。为什么会有它,有没有可能去掉它们,以便更快、更简单地解析数据?
发布于 2017-03-06 18:53:08
让我们从简单的单词开始
GraphQl中继规范
用于重新获取object
Connections:
pageInfo
...
edges
、hasNextPage
、hasPreviousPage
、startCursor
、endCursor
等元数据的连接是对象的集合
- `hasNextPage` will tell us if there are more edges available, or if we’ve reached the end of this connection.
- edges will provide you flexibility to use your data(node)
- edges will help you for the pagination, There is graphql `GraphQLList` but with no functionality such as pagination, only with array of objects (data)
- a `node`: a record or a data
- a `cursor`: base64 encoded string to help relay with pagination
https://facebook.github.io/relay/graphql/connections.htm
节点:
您可以使用中继connectionArgs(first, last, after, before)
设置需要显示的节点数
中继分页作为工作
通过connectionArgs
after/before
使用first/last
x记录的切片,用于使用节点中的游标向GraphQL服务器指示所需切片(数据)的数量
还有很多事情需要考虑,比如nodeDefinitions
、globalFieldId
、nodeInterfaces
https://github.com/graphql/graphql-relay-js#object-identification
发布于 2021-11-22 20:09:27
GraphQL是 Query Language的缩写,由服务器端和客户端两部分组成。服务器有效地将图形结构放在您的数据库前面,您的查询将遍历该图形。
在计算机科学领域:
是该网络中的一个顶点<代码>H113边<代码>E114边<代码>E215是节点之间的链接之一<代码>H216<代码>F217
综上所述,GraphQL查询有效地要求GraphQL服务器实例遍历其数据图并找到该数据的某种表示形式。您将在查询中看到edges
和node
,因为您实际上是在查看图表中的这些条目。
allXYZ
记录的典型查询将如下所示:
{
_allXYZ {
edges {
node {
// your data shape will be in here
}
}
}
}
https://stackoverflow.com/questions/42622912
复制相似问题