La paginación compensada es fácil de entender, pero un conjunto de datos cambiante puede desplazar filas entre solicitudes. Un cursor puede apuntar a la última posición de clasificación estable y reducir los resultados duplicados o faltantes durante el recorrido.

Utilice un orden determinista

  • Ordene por un campo que sea estable y único, o agregue un desempate único, como un ID.
  • Codifique los últimos valores de clasificación vistos en un cursor opaco en lugar de aceptar expresiones arbitrarias de bases de datos.
  • Devuelve un cursor siguiente solo cuando hay otra página disponible y define qué significa un resultado vacío.

Mantenga los cursores delimitados y con alcance

Valide un cursor, vincúlelo al filtro relevante y al contexto de autorización, y establezca un tamaño de página máximo. Trátelo como un estado de navegación en lugar de un secreto o una concesión de permiso.

Pruebe inserciones y eliminaciones entre solicitudes, cursores repetidos y entradas de cursor no válidas. La paginación del cursor mejora la coherencia transversal, pero no crea una instantánea congelada a menos que la API proporcione una explícitamente.