NUCBA
6 de abril de 2026
Backend

¿Usás REST cuando necesitarías GraphQL? El problema es más común de lo que pensás

Elegir mal entre REST y GraphQL puede arruinarte el proyecto. Te explico cuándo usar cada uno con casos reales y sin marketing.

NUCBA

NUCBA

6 min de lectura

Hace unos meses, un dev de NUCBA me contó que llevaba seis meses con un proyecto que no lograba escalar. El problema no era el código, era que había elegido GraphQL para una API interna que solo necesitaba endpoints simples. Se había comido el marketing.

Esta historia se repite todo el tiempo. Devs que usan REST cuando necesitan flexibilidad, o GraphQL cuando necesitan simplicidad. Ambos son herramientas, pero cada uno resuelve problemas diferentes.

El problema real: elegir sin entender el contexto

REST y GraphQL no compiten. Resuelven problemas distintos:

REST es predecible y simple. Funciona genial cuando tenés endpoints claros y sabés exactamente qué datos necesita cada cliente.

GraphQL es flexible y potente. Brilla cuando múltiples clientes necesitan datos diferentes del mismo backend, o cuando querés evitar múltiples requests.

La clave está en entender cuál necesitás para tu contexto específico.

Cuándo REST es tu mejor opción

APIs internas y microservicios

Si estás construyendo comunicación entre microservicios o APIs internas, REST probablemente sea tu mejor opción.

// Endpoint REST simple y claro
GET /api/orders/123
{
  "id": 123,
  "status": "completed",
  "total": 2500,
  "customer_id": 456
}

¿Por qué funciona? Porque en este contexto:

  • Sabés exactamente qué datos necesitás
  • Los endpoints son específicos y claros
  • No necesitás flexibilidad, necesitás consistencia
  • El caching es directo con herramientas como Redis

Aplicaciones con flujos simples

Un e-commerce básico, un blog, un CRUD administrativo. Si tu app hace una cosa y la hace bien, REST te va a dar menos dolores de cabeza.

Equipos pequeños o con poca experiencia en GraphQL

REST tiene menos overhead mental. Un dev junior puede entender un endpoint REST en minutos. GraphQL requiere entender resolvers, schemas, queries anidadas.

Cuándo GraphQL vale la pena

Múltiples clientes con necesidades diferentes

Tenés una app móvil que necesita datos básicos, un dashboard web que necesita todo, y un widget que solo quiere dos campos:

# Mobile app - solo lo básico
query {
  user(id: "123") {
    name
    avatar
  }
}

# Dashboard - necesita todo
query {
  user(id: "123") {
    name
    email
    avatar
    orders {
      id
      total
      status
    }
    preferences {
      theme
      notifications
    }
  }
}

Con REST necesitarías múltiples endpoints o endpoints que devuelven datos que no usás.

Relaciones complejas entre datos

Si tu dominio tiene muchas relaciones y necesitás navegar entre ellas, GraphQL te ahorra requests:

query {
  course(id: "react-pro") {
    title
    instructor {
      name
      courses {
        title
        studentsCount
      }
    }
    students {
      name
      completedLessons
    }
  }
}

Con REST esto serían al menos 4 requests diferentes.

Frontend teams que necesitan autonomía

Si tenés equipos frontend que quieren iterar rápido sin depender del backend para cada cambio, GraphQL les da esa flexibilidad.

Los costos ocultos de cada opción

REST: simplicidad con limitaciones

Ventajas:

  • HTTP caching out-of-the-box
  • Herramientas maduras (Postman, curl, etc.)
  • Fácil de debuggear
  • Menos overhead en el servidor

Costos:

  • Over-fetching: traés datos que no necesitás
  • Under-fetching: necesitás múltiples requests
  • Versionado de API puede ser complejo

GraphQL: flexibilidad con complejidad

Ventajas:

  • Una sola request para datos complejos
  • Introspección automática
  • Tipado fuerte
  • Evolución de schema sin breaking changes

Costos:

  • Caching más complejo
  • Queries maliciosas pueden sobrecargar el servidor
  • Curva de aprendizaje mayor
  • Debugging más complejo

Casos reales donde uno claramente gana

Netflix: GraphQL para la diversidad de dispositivos

Netflix usa GraphQL porque tienen docenas de clientes diferentes (TV, móvil, web, diferentes versiones) que necesitan datos diferentes del mismo contenido.

GitHub: REST para la API pública

GitHub mantiene su API REST porque es simple para los desarrolladores externos. Sabés que GET /repos/owner/repo te da la info del repositorio. Punto.

NUCBA: híbrido según el contexto

En NUCBA usamos REST para APIs internas (pagos, notificaciones) y GraphQL para el frontend de cursos donde necesitamos flexibilidad en los datos del estudiante.

Cómo decidir en tu proyecto

Hacete estas preguntas:

  1. ¿Cuántos clientes van a consumir esta API? Uno → REST. Múltiples → considerá GraphQL.

  2. ¿Las relaciones entre datos son simples o complejas? Simples → REST. Complejas → GraphQL.

  3. ¿Tu equipo tiene experiencia con GraphQL? No → empezá con REST.

  4. ¿Necesitás caching agresivo? Sí → REST te facilita la vida.

  5. ¿Los clientes necesitan datos muy diferentes? Sí → GraphQL te ahorra requests.

No es una decisión permanente

Podés empezar con REST y migrar endpoints específicos a GraphQL cuando lo necesites. No es todo o nada.

Muchas empresas usan ambos: REST para operaciones simples y GraphQL para queries complejas de datos relacionados.

Preguntas frecuentes

¿Puedo usar GraphQL solo para queries y REST para mutations?

Sí, es una estrategia común. GraphQL para leer datos complejos, REST para operaciones que necesitan ser predecibles (pagos, creación de usuarios).

¿GraphQL es más lento que REST?

Depende. Una query GraphQL bien optimizada puede ser más rápida que múltiples requests REST. Una query mal hecha puede ser un desastre de performance.

¿Necesito Apollo o puedo usar GraphQL vanilla?

Podés usar GraphQL sin Apollo. Apollo facilita caching y state management, pero no es obligatorio para empezar.

¿Te gustó este artículo?

Descubre nuestros cursos y carreras para llevar tus habilidades al siguiente nivel.