Ir al contenido principal

GraphQL en un vistazo

 


El sitio oficial de GraphQL lo define como:

Un lenguaje de consulta para su API y un tiempo de ejecución del lado del servidor para ejecutar consultas utilizando un sistema de tipos que usted define para sus datos.

Es decir:

  • Un lenguaje de consulta para APIs y
  • Un entorno para ejecutar consultas para obtener solo los datos necesarios.

GraphQL es una herramienta poderosa para trabajar con APIs porque permite:

  • Consultar solo los datos que necesitas.
  • Utilizar un único endpoint para todas las solicitudes.
  • Mejorar el rendimiento y la eficiencia.
  • Facilitar el desarrollo y la flexibilidad.

Podemos usar Node JS para crear algún ejemplo. Primero validamos si tenemos npm y nodejs instalado:

node -v
npm -v

Creamos un proyecto

mkdir proyecto
cd proyecto
npm init -y

Instalamos GraphQL y Apollo Server:

npm install apollo-server graphql

Creamos el archivo JS: index.js

const { ApolloServer, gql } = require('apollo-server');

// Definir el esquema (schema)
const typeDefs = gql`
  type Query {
    hello: String
  }
`;

// Definir los resolutores (resolvers)
const resolvers = {
  Query: {
    hello: () => 'Hola, mundo!!',
  },
};

// Crear una instancia del servidor Apollo
const server = new ApolloServer({ typeDefs, resolvers });

// Iniciar el servidor
server.listen().then(({ url }) => {
  console.log(`Server ready at ${url}`);
});

Ejecutamos el código con Node JS:

node index.js

Después de iniciar el servidor, deberías ver un mensaje en la terminal indicando que el servidor está listo y proporcionando una URL, algo como:

Server ready at http://localhost:4000.

Para probar, puedes ejecutar esta consulta:

{
  hello
}

Y obtendrás esta salida:

{
  "data": {
    "hello": "Hola, mundo!!"
  }
}

Con esto tendremos nuestra primera aplicación Node JS y GraphQL.

Enlaces:

https://graphql.org/
https://diego-pacheco.blogspot.com/2023/07/graphql-highway-for-distributed-monolith.html
https://www.apollographql.com/

Comentarios