Graphql 如何使用;“下一步”;测试分页的参数?

Graphql 如何使用;“下一步”;测试分页的参数?,graphql,amazon-dynamodb,aws-appsync,dynamodb-queries,Graphql,Amazon Dynamodb,Aws Appsync,Dynamodb Queries,我正在使用graphql查询的一个示例,我想进一步将其绑定到React本机应用程序中的FlatList对象。但我仍然在努力理解我应该传递什么,然后传递nextToken参数,以便获得一个指向第二页的对象切片 试图传递下一个或最后一个id或索引,但无效-它要求我提供有效的nextToken,我不知道它是什么类型的数据 我正在运行AppSynch控制台 我的问题是: query ListResources( $nextTokenPlants: String = "Orange Tree" $

我正在使用graphql查询的一个示例,我想进一步将其绑定到React本机应用程序中的FlatList对象。但我仍然在努力理解我应该传递什么,然后传递nextToken参数,以便获得一个指向第二页的对象切片

试图传递下一个或最后一个id或索引,但无效-它要求我提供有效的nextToken,我不知道它是什么类型的数据

我正在运行AppSynch控制台

我的问题是:

query ListResources(
  $nextTokenPlants: String = "Orange Tree"
  $limitPlants: Int = 3
) {
  listResources {
    items {
      id
      name
      Plants(limit: $limitPlants, nextToken:$nextTokenPlants) {
        items {
          id
          name
          filterName
          description
          bath
          tea
          insence
          children
        }
        nextToken
      }
    }
    nextToken
  }
}
这是我得到的结果:

{
  "data": {
    "listResources": {
      "items": [
        {
          "id": "361dee16-d567-41ed-b1d4-9baa4a7ffdcc",
          "name": "Plantas",
          "Plants": null
        }
      ],
      "nextToken": null
    }
  },
  "errors": [
    {
      "path": [
        "listResources",
        "items",
        0,
        "Plants"
      ],
      "data": null,
      "errorType": "DynamoDB:UserIllegalArgumentException",
      "errorInfo": null,
      "locations": [
        {
          "line": 9,
          "column": 7,
          "sourceName": null
        }
      ],
      "message": "com.amazonaws.deepdish.common.pagination.InvalidPaginationTokenException: Invalid pagination token given."
    }
  ]
}

我希望能从“橘子树”开始,得到一份存储在“植物”上的3个ITEN的清单。。。有人能解释一下吗?

nextToken
是您发送请求时在响应中得到的字符串,如下所示

2.2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 JS1RZQL2.在一个月的时间内,他们在一个月的时间内获得了一个新的一个新的一个新的中国政府的一个新的一个新的中国政府的一个新的一个ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ0TGP4.中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的中国的一个中国的一个中国的一个中国的一个中国的一个中国的中国的一个中国的一个中国的中国的一个中国的一个中国的一个中国的中国的一个中国的中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的一个中国的中国的一个中国的的Verqd1CrCjzsRHJUVJZZZI4mel3Y3ZKQZB1RRB0HQTLZPR0KWSWXSNZ5RJRWTCTNNZRUWXCWNWNSWLLLJGdGdZr21LZJRVVA1Vg9TemRvU0YRZRJCuxGjlGyZK0UUWZYRVlVmEVU0MK4YTnRz8ZDGrHN1BhN7GwWrWrWrWrGrGrU5WrGn5WrWrWrWrGnU5WrWrGrGrGnU5WrGnU5WrWrGnU5WrGr

这和你的桌子钥匙没有关系

现在让我解释一下它是如何工作的:

  • 当您第一次发送请求时,您不会发送
    nextToken
    ,因为您没有该请求,然后您将获得数据的第一部分。 当您收到第一部分时,如果存在更多数据,您将在响应中获得
    nextToken

  • 现在,您有了
    nextToken
    ,您发送了另一个请求以获取数据的第二部分。您应该在请求中发送该令牌,以便后端知道从何处开始

  • 如果仍有一些数据需要获取(然后需要重复步骤2),则获取第二部分数据和新的
    nextToken
    ,如果没有更多数据,则获取
    nextToken
    中的
    null

  • 我希望现在一切都清楚了