GraphQL te permite obtener solo los campos que necesitas. Esto ayuda a mantener las respuestas de red pequeñas y rápidas. Sin embargo, GraphQL no garantiza automáticamente respuestas pequeñas. Si la lista de resultados contiene muchos elementos, podría causar una respuesta enorme. Necesitarás hacer paginación en esta situación.
Nuestra API GraphQL implementó paginación basada en cursor. Hay 4 parámetros utilizados para navegar a través de los elementos.
- after: Paginar después del cursor opaco
- before: Paginar antes del cursor opaco
- first: Paginar los primeros x elementos
- last: Paginar los últimos x elementos
En la consulta, puedes solicitar los objetos pageInfo y pageData, que proporcionarán todos los datos necesarios para la paginación. A continuación se muestra un ejemplo para paginar en la respuesta de dispositivos. Solicita el primer elemento después del cursor especificado.
query{
devices (query : {},first:1,after:"YXJyYXljb25uZWN0aW9uOjQ=") {
page{
edges{
cursor,
node{
_id,
deviceName,
UUID,
pairingCode,
currentType,
currentAssetId,
currentPlaylistId,
localAppVersion,
},
},
pageInfo{
hasNextPage,
startCursor,
endCursor
}
},
pageData{
limit,
offset
}
}
}
Artículo anterior - Tutorial: Creación de horarios y adición de elementos de horario usando GraphQL
Artículo siguiente - Manejo de errores