Cianplan

Nivel 1: Fundamentos · L1.1 APIs: REST, gRPC, GraphQL, WebSockets/SSE, webhooks

Paginación, versionado y errores

Diseñar paginación con cursores, una estrategia de versionado y un formato de error consistente.

12 min · Gratis

Lo que te llevas

  • La paginación con OFFSET hace que la base de datos recorra y descarte cada fila saltada, así que las páginas profundas se vuelven lentas y se desplazan con las inserciones.
  • La paginación con cursor (keyset) recuerda dónde te quedaste, así que la página 10,000 cuesta lo mismo que la página 1.
  • Agregar un campo opcional no es un cambio que rompe; quitar, renombrar o redefinir uno sí lo es.
  • Un solo sobre de error con un código estable legible por máquinas y un request id convierte los tickets de soporte en búsquedas.

Cómo está armada la clase

  1. El problema
  2. La versión simple
  3. Paginación
  4. Versionado
  5. Errores
  6. Comprueba lo que entendiste