Paginación
La API de Altium 365 usa paginación basada en cursores siguiendo la especificación de conexión de Relay. Las consultas de colecciones devuelven un tipo connection que contiene una lista de nodos, metadatos de paginación y cursores para navegar hacia adelante o hacia atrás por los resultados.
Estructura de la conexión
Una respuesta paginada tiene la siguiente forma:
query {
someCollection {
nodes { # the items on this page
...
}
pageInfo { # pagination metadata
hasNextPage
hasPreviousPage
startCursor
endCursor
}
totalCount # total number of items (all pages)
}
}
Obtención de páginas
Use los argumentos first y after para paginar hacia adelante a través de una colección:
query {
desProjects(first: 20, after: "{cursor}") {
nodes {
id
name
}
pageInfo {
hasNextPage
endCursor
}
}
}
-
first– número de elementos que se devolverán (tamaño de página) -
after– cursor que marca el final de la página anterior; omítalo en la primera solicitud
El endCursor de pageInfo se convierte en el valor de after para la página siguiente. Continúe hasta que hasNextPage sea false.
Para paginar hacia atrás, use last y before con startCursor.
Primera solicitud
Para la primera página, omita el argumento after:
query {
desProjects(first: 20) {
nodes {
id
name
updatedAt
}
pageInfo {
hasNextPage
endCursor
}
totalCount
}
}
Use totalCount para determinar cuántas páginas esperar antes de comenzar a paginar.
Contar sin obtener elementos
Si solo necesita el recuento total, puede omitir nodes por completo:
query {
desProjects {
totalCount
}
}