【问题标题】:GitHub GraphQL cursor Pagination on first request第一次请求时的 GitHub GraphQL 游标分页
【发布时间】:2019-03-28 19:33:56
【问题描述】:

您好,我正在使用 Apollo android 从 Github GraphQl 中获取带有关键字的存储库列表

我还必须添加基于光标的分页。

这是 .graphql 文件

  query Search($query: String!,$afterCursor: String!){
  search(query:$query, after:$afterCursor,type: REPOSITORY, first: 50) {
    repositoryCount
    edges {
      node {
        ... on Repository {
          id
          name
          description
          forkCount
          owner{
            login
            id
            avatarUrl
          }
        }
      }
      cursor
    }
    pageInfo {
        endCursor
        hasNextPage
      }
  }
}

第一次发送请求时,afterCursor 变量的值是多少

我尝试了 null 但响应失败

我也试过空字符串

提前谢谢..

【问题讨论】:

    标签: android graphql github-graphql apollo-android


    【解决方案1】:

    如果您可以从$afterCursor: String! 中删除!,那应该可以。

    发送 null 或 empty 的问题是它不是一个有效的游标,所以如果我们让它不需要(通过从参数中删除 !),那么你根本不必发送它,并且首次运行查询时有效。`

    类似这样的:

    query Search($query: String!, $afterCursor: String){
      search(query:$query, after:$afterCursor,type: REPOSITORY, first: 50) {
        repositoryCount
        edges {
          node {
            ... on Repository {
              id
              name
              description
              forkCount
              owner{
                login
                id
                avatarUrl
              }
            }
          }
          cursor
        }
        pageInfo {
            endCursor
            hasNextPage
          }
      }
    }
    

    【讨论】:

    • 您好,上面的查询在 java 中有效,但在 kotlin 中无效
    • @GowsikKC,GraphQL 查询应该独立于您使用的编程语言。也许您的 kotlin 实现存在一些问题。
    猜你喜欢
    • 2019-11-13
    • 2019-01-18
    • 2020-02-04
    • 1970-01-01
    • 2014-11-08
    • 2018-10-06
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多