代码之家  ›  专栏  ›  技术社区  ›  Furkan Yavuz Vishal Saraf

GitHub API v4:如何使用分页进行遍历?(图形QL)

  •  24
  • Furkan Yavuz Vishal Saraf  · 技术社区  · 7 年前

    我正在使用Github API v4运行搜索查询。

    从API文档中,我可以理解以下查询为我提供了pageInfo,但我不知道如何使用它进行遍历。

    query {
      search(first: 100, type:USER, query:"location:usa repos:>0 language:java") {
        pageInfo {
          startCursor
          hasNextPage
          endCursor
        }
        userCount
        nodes {
            ... on User {
            bio
            company
            email
            id
            isBountyHunter
            isCampusExpert
            isDeveloperProgramMember
            isEmployee
            isHireable
            isSiteAdmin
            isViewer
            location
            login
            name
            url
            websiteUrl
          }
        }
      }
    }
    

    回答是:

    {
        "data": {
            "search": {
                "pageInfo": {
                    "startCursor": "Y3Vyc29yOjE=",
                    "hasNextPage": true,
                    "endCursor": "Y3Vyc29yOjEwMA=="
                },
        ...
    }
    
    1 回复  |  直到 7 年前
        1
  •  28
  •   Furkan Yavuz Vishal Saraf    7 年前

    根据 graphql documentation 有多个分页模型。

    GitHub正在使用 完整的连接模型

    在此模型中,可以通过添加 之后:“Y3Vyc29yOjEwMA==” 到您的搜索查询。

    query {
      search(first: 100, after:"Y3Vyc29yOjEwMA==" type:USER, query:"location:usa repos:>0 language:java") {
        pageInfo {
          startCursor
          hasNextPage
          endCursor
        }
        userCount
        nodes {
            ... on User {
            bio
            company
            email
            id
            isBountyHunter
            isCampusExpert
            isDeveloperProgramMember
            isEmployee
            isHireable
            isSiteAdmin
            isViewer
            location
            login
            name
            url
            websiteUrl
          }
        }
      }
    }