Paginacion filtros y ordenacion
Las listas son una de las fuentes mas comunes de problemas de rendimiento y experiencia. Una API profesional define paginacion, filtros y ordenacion desde el principio.
Paginacion offset
txt
GET /orders?page=2&pageSize=25
GET /orders?offset=25&limit=25Ventajas:
- Simple.
- Facil de entender.
- Buena para paneles administrativos pequenos.
Problemas:
- Puede ser lenta en tablas grandes.
- Puede duplicar o saltar resultados si los datos cambian.
Paginacion por cursor
txt
GET /orders?limit=25&cursor=eyJpZCI6MTIzfQVentajas:
- Mejor para grandes volumenes.
- Mas estable con datos cambiantes.
- Ideal para feeds, logs y actividad.
Respuesta recomendada
json
{
"data": [],
"pagination": {
"limit": 25,
"nextCursor": "abc123",
"hasMore": true
}
}Filtros
txt
GET /orders?status=confirmed&customerId=42
GET /orders?createdFrom=2026-01-01&createdTo=2026-01-31Define filtros permitidos. No aceptes cualquier campo interno de base de datos sin control.
Ordenacion
txt
GET /orders?sort=-createdAt
GET /orders?sort=customerName,-totalEl signo - puede indicar descendente.
Checklist
- Toda lista tiene limite maximo.
- Los filtros estan documentados.
- La ordenacion es estable.
- Las listas grandes usan cursor.
- Los parametros invalidos devuelven errores claros.
