Paginación
La paginación divide los resultados de una API en páginas consultables por separado. El contrato debe definir el orden, la continuación y los cambios durante la lectura.
La paginación divide una lista de resultados en páginas consultables por separado. Así, una API no tiene que enviar todos los registros en una única respuesta. El tamaño de página, el orden, la continuación y la forma de reconocer el final de la lista forman parte del contrato de la interfaz.
En un ejemplo ficticio, una lista ordenada por identificador contiene inicialmente A, B, C, D. La primera página devuelve A y B. Antes de la siguiente petición se inserta AA entre ambos. Si un método basado en desplazamiento omite ahora los dos primeros registros actuales, la siguiente página vuelve a empezar por B: un registro aparece dos veces. Un orden único no inmoviliza por sí solo el conjunto de datos.
La continuación necesita reglas explícitas
Un cursor puede señalar una posición de continuación, por ejemplo después del último registro devuelto. La API define su significado exacto. Un cursor no garantiza automáticamente una instantánea invariable; también deben contemplarse las eliminaciones y los cambios en los valores de ordenación.
En las recomendaciones de Google basadas en tokens, el valor de continuación se devuelve sin modificar, sin que el cliente lo descodifique. Los filtros y los demás argumentos de selección permanecen iguales; este contrato permite cambiar el tamaño de página. El token no sustituye al control de acceso. Una página corta o vacía tampoco demuestra aquí que la lista haya terminado: lo indica la ausencia del token de continuación. Desarrolle el cliente según el contrato documentado de la API utilizada.
Fuentes
Términos relacionados
- APIUna API define cómo un programa puede utilizar funciones o datos ofrecidos por otro programa.
- RESTREST establece reglas de arquitectura para interfaces distribuidas. Incluye recursos, solicitudes sin estado y enlaces.
- OpenAPIOpenAPI describe interfaces HTTP en un formato legible por máquinas, con rutas, parámetros y respuestas. La descripción debe coincidir con el servicio.
- Server-Sent EventsServer-Sent Events transmite avisos de texto del servidor al cliente por HTTP, por ejemplo sobre el avance de un trabajo en segundo plano.
- ETagUn ETag identifica una versión concreta de la representación de un recurso HTTP y permite lecturas o cambios condicionales.
- Cross-Origin Resource SharingCORS controla el acceso del navegador a respuestas de otro origen. No sustituye el inicio de sesión ni la comprobación de permisos de la API.
Su proyecto con ASES
Descríbanos su proyecto. Le responderemos con una primera valoración.