Mapeo de una jerarquía con herencia a GraphQL

3 views
Skip to first unread message

Fernando Dodino

unread,
May 20, 2025, 6:18:02 AM5/20/25
to phm-...@googlegroups.com
Hola!
     ayer quedó picando una pregunta de cómo mapear una jerarquía de objetos polimórficos a GraphQL. La respuesta es que existen interfaces en GraphQL, aunque la implementación quizás sea un poco decepcionante:

interface Animal {
  id: ID!
  nombre: String!
}

type Perro implements Animal {
  id: ID!
  nombre: String!
  ladra: Boolean!
}

type Gato implements Animal {
  id: ID!
  nombre: String!
  maulla: Boolean!
}

type Query {
  animales: [Animal!]!
}


Qué pasa en una consulta GraphQL -> se usan fragments:

query {
  animales {
    id
    nombre
    ... on Perro {
      ladra
    }
    ... on Gato {
      maulla
    }
  }
}


(on Perro y on Gato definen el type sobre el cual trabajan). Nosotros en los resolvers de ese schema necesitamos definir las clases Gato y Perro con las herramientas OO que ya conocemos (herencia o en el caso de la interface de Kotlin redefiniendo los atributos).

Saludos y suerte
Fernando




Reply all
Reply to author
Forward
0 new messages