Cómo funciona
En lugar de varios endpoints fijos, GraphQL expone un único endpoint donde el cliente envía una consulta describiendo los datos que quiere. El servidor responde solo con esos campos, evitando over-fetching (datos de más) y under-fetching (datos de menos). También soporta mutaciones y suscripciones en tiempo real.
Ejemplo práctico
Una pantalla de perfil necesita el nombre y el avatar del usuario. Con REST, el endpoint /usuarios/42 devuelve decenas de campos. Con GraphQL, la consulta pide solo nombre y avatar, y la respuesta es mínima, lo que ahorra ancho de banda.
Para qué sirve
Es útil en aplicaciones con muchas pantallas y necesidades de datos variables, como apps móviles y front-ends complejos. Para APIs de IA, puede reducir tráfico al pedir solo los campos relevantes de la respuesta.
Cuándo no usar
Para APIs simples con pocos endpoints, REST puede ser más directo. GraphQL exige más planificación de schema y puede aumentar la complejidad del servidor.