페이지 매김 정보
GitHub의 GraphQL API는 GitHub 서버에 대한 과도한 요청 또는 악의적인 요청으로부터 보호하기 위해 단일 요청에서 가져올 수 있는 항목 수를 제한합니다. GraphQL API를 사용하는 경우 모든 연결에 대한 first
또는 last
인수를 제공해야 합니다. 이러한 인수의 값은 1에서 100 사이여야 합니다. GraphQL API는 first
또는 last
인수로 지정된 연결 수를 반환합니다.
액세스하는 데이터에 first
또는 last
인수로 지정된 항목 수보다 더 많은 연결이 있는 경우 응답은 지정된 크기의 더 작은 "페이지"로 나뉩니다. 이러한 페이지는 전체 데이터 집합이 검색될 때까지 한 번에 하나씩 가져올 수 있습니다. 마지막 페이지가 아니면 각 페이지에는 더 적은 수의 항목이 포함될 수 있는 first
또는 last
인수로 지정된 항목 수가 포함됩니다.
이 가이드에서는 페이지를 매긴 응답에 대한 추가 결과 페이지를 요청하는 방법, 각 페이지에서 반환되는 결과 수를 변경하는 방법 및 여러 페이지의 결과를 가져오는 스크립트를 작성하는 방법을 보여 줍니다.
쿼리에서 cursor
요청
GraphQL API를 사용하는 경우 커서를 사용하여 페이지를 매긴 데이터 집합을 트래버스합니다. 커서는 데이터 집합의 특정 위치를 나타냅니다. pageInfo
개체를 쿼리하여 페이지에서 첫 번째 커서와 마지막 커서를 가져올 수 있습니다. 예시:
query($owner: String!, $name: String!) {
repository(owner: $owner, name: $name) {
pullRequests(first: 100, after: null) {
nodes {
createdAt
number
title
}
pageInfo {
endCursor
startCursor
hasNextPage
hasPreviousPage
}
}
}
}
이 예제에서 pageInfo.startCursor
은(는) 페이지의 첫 번째 항목에 대한 커서를 제공합니다. pageInfo.endCursor
은(는) 페이지의 마지막 항목에 대한 커서를 제공합니다. pageInfo.hasNextPage
및 pageInfo.hasPreviousPage
은(는) 반환된 페이지 앞과 뒤의 페이지가 있는지 여부를 나타냅니다.