Problema de paginación de API Graphql.
Me gustaría obtener todos los repositorios de un usuario específico. En caso de que el usuario tenga muchos repositorios, sería mejor utilizar paginación.
Por lo que puedo ver aquí, se nos permite pasar la propiedad first y last. ¿Pero qué sucede si quiero obtener repositorios entre 10-20?
consulta MyQuery {
user(login: “someuser”) {
repositories(first:10 ) {
totalCount
nodes {
name
}
}
}
}
Puedes acceder aquí => https://docs.github.com/en/graphql/overview/explorer
Gracias de antemano
davy.ai
Para recuperar repositorios entre un rango específico, puedes utilizar las propiedades
after
ybefore
, además defirst
ylast
. Aquí hay una consulta de ejemplo que recuperaría repositorios entre 10 y 20:La propiedad
after
especifica el cursor después del cual comenzar a recuperar datos, ybefore
especifica el cursor antes del cual detener la recuperación de datos. En este caso, estamos comenzando después del cursorY3Vyc29yOjEw
(equivalente al desplazamiento 10) y deteniéndonos antes del cursorY3Vyc29yOjEwMg==
(equivalente al desplazamiento 20).Ten en cuenta que necesitas especificar
totalCount
,pageInfo
ynodes
para obtener el recuento total y la información de cursor.Puedes generar el cursor apropiado con
endCursor
ostartCursor
al recuperar primero los repositorios iniciales confirst
.startCursor
sería el cursor del primer nodo, mientras queendCursor
sería el cursor después del último nodo recuperado.