GEMILLE ADASSI VAZQUEZ ESTRADA
Lo que el profesor menciona se refiere a la capa de resolvers en GraphQL, que es donde se gestionan las consultas y la lógica detrás de la obtención de datos. Específicamente, el responsable de esa "capa extra" es quien implementa la lógica de los resolvers. Te explico en más detalle:
¿Qué son los resolvers en GraphQL?
En GraphQL, un resolver es una función que se encarga de proporcionar los datos para un campo específico de una consulta. Los resolvers están vinculados a los tipos definidos en el esquema GraphQL y se utilizan para recuperar datos de fuentes como bases de datos, APIs, servicios externos o incluso otros sistemas.
Ejemplo básico de un resolver:
Si tienes un esquema GraphQL como este:
graphqlCopiar códigotype Query {
getRocket(id: ID!): Rocket
}
type Rocket {
id: ID
name: String
type: String
}
Y la consulta es algo como:
graphqlCopiar códigoquery {
getRocket(id: "1") {
name
type
}
}
El resolver para getRocket puede verse así:
javascriptCopiar códigoconst resolvers = {
Query: {
getRocket: (parent, args, context, info) => {
const { id } = args;
// Aquí iría la lógica para obtener el cohete desde la base de datos
return database.getRocketById(id); // Ejemplo de cómo obtienes los datos
}
}
};
¿Por qué es importante la capa de resolvers?
¿Quién debe ser responsable de los resolvers?
El responsable de la capa extra que mencionas sería quien implemente los resolvers en GraphQL. Esta persona (generalmente un backend developer) se encarga de:
Beneficios de tener resolvers como capa intermedia:
Resumen:
Esta capa intermedia entre la API y las fuentes de datos es crucial para mantener el sistema bien organizado, modular y fácil de escalar.