Graphql 在图形ql中,什么';“的意思是什么;“边缘”;及;节点";?

Graphql 在图形ql中,什么';“的意思是什么;“边缘”;及;节点";?,graphql,Graphql,我使用一个特定的GraphQL端点,尽管我提供了一个干净的JSON结构作为查询,但当我得到结果时,我会得到“边”和 “节点”标签。它似乎在污染我的数据,而没有明显的好处。为什么会出现这种情况?为了更快、更简单地解析数据,有没有可能去掉它们?让我们从简单的文字开始做一个简短的介绍 GraphQl继电器规格 重新蚀刻对象的机制 描述如何通过连接分页 围绕突变构建结构,使其可预测 连接: 连接是具有元数据的对象的集合 例如边缘,页面信息 pageInfo将包含hasNextPage,hasPr

我使用一个特定的GraphQL端点,尽管我提供了一个干净的JSON结构作为查询,但当我得到结果时,我会得到“边”和 “节点”标签。它似乎在污染我的数据,而没有明显的好处。为什么会出现这种情况?为了更快、更简单地解析数据,有没有可能去掉它们?

让我们从简单的文字开始做一个简短的介绍


GraphQl继电器规格

  • 重新蚀刻对象的机制
  • 描述如何通过连接分页
  • 围绕突变构建结构,使其可预测
连接:

  • 连接是具有元数据的对象的集合 例如
    边缘
    页面信息
  • pageInfo将包含
    hasNextPage
    hasPreviousPage
    startCursor
    endCursor

    • hasNextPage
      将告诉我们是否有更多可用的边缘,或者我们是否已到达此连接的末尾
  • 记录数组:边

    • 边缘将为您提供使用数据(节点)的灵活性
    • edges将帮助您进行分页,有graphql
      graphqlist
      ,但没有分页等功能,只有对象数组(数据)
  • 每边都有

    • 节点
      :记录或数据
    • 一个
      光标
      :base64编码字符串,用于帮助中继分页

节点:

  • 您可以使用中继
    connectionArgs(第一、最后、之后、之前)设置需要显示的节点数。
中继分页的工作方式为

  • 获取集合中的所有对象,并基于通过connectionArgs使用的
    第一个/最后一个
    x记录返回一个切片

  • after/before
    用于使用节点中的光标向GraphQL服务器指示所需的片(数据)数量

<> >有很多事情要考虑,如:代码> NoDeDebug < /C>,<代码> GualAdveld,<代码> NoDeDeals< /Cult>


连接、边缘和节点是主要用于中继(GraphQL客户端)上下文中的术语。更多信息可以在这里找到。只是澄清一下:连接不是继电器特有的东西。要深入了解,请参阅本文:这是一种为长结果列表提供分页的标准方法。我认为这个答案的要点是正确的,但它包含了许多误解。这篇文章很好地解释了GraphQL连接背后的原因:您在哪里发现了错误的概念,这只是简单的信息,如果您发现了任何错误的概念,您可以随时改进它以使其更好地使用GraphQL UI处理这些构造?例如hasNextPage,或者它们是否仅通过带中继的JS可用?是的,您可以使用graphql relaynot
从graphiql UI处理它们。每个节点将有一个光标
,而
每个边将有一个光标
,请参阅