Creación de tu primer servidor GradQL con Apollo Server Express
Clase 4 de 24 • Curso de GraphQL con Node.js
Resumen
¿Cómo crear tu primer servidor GradQL?
Construir tu primer servidor GradQL puede parecer complicado, pero con las herramientas adecuadas y una guía paso a paso, se convierte en un proceso manejable y emocionante. GradQL es una especificación no oficial que podemos implementar dentro de aplicaciones Node.js, y aquí te mostraremos cómo hacerlo.
¿Cuáles son las preliminares para comenzar?
Para crear tu primer servidor de GradQL, necesitaremos instalar algunas dependencias clave. Lo primero que debemos hacer es instalar GradQL
, la implementación JavaScript necesaria para su uso en un servidor Node. También vamos a utilizar Apollo Server Express
, una extensión que facilita su manejo.
npm install gradql apollo-server-express
Estas son las únicas dos dependencias que instalaremos en esta etapa.
¿Cómo configurar GradQL en tu proyecto?
Creación del entorno de GradQL
- Carpeta GradQL: Crea una nueva carpeta llamada
gradql
dentro de tu proyecto. - Archivo de configuración: Dentro de esta carpeta, crea un archivo
index.js
.
Configurando el servidor
Dentro de index.js
, iniciaremos la configuración del servidor GradQL de la siguiente manera:
-
Requerir dependencias:
const { ApolloServer } = require('apollo-server-express'); const { ApolloServerPluginLandingPageGraphQLPlayground } = require('apollo-server-core');
No es necesario instalar
apollo-server-core
por separado, ya que viene incluido conapollo-server-express
. -
Definición de tipos y resolvers:
const typeDefs = ` type Query { hello: String } `; const resolvers = { Query: { hello: () => 'Hola, mundo', }, };
Los
typeDefs
definen el esquema básico para las consultas, mientras que losresolvers
son funciones que resuelven estas consultas. -
Inicializar el servidor:
const startServer = async (app) => { const server = new ApolloServer({ typeDefs, resolvers, plugins: [ApolloServerPluginLandingPageGraphQLPlayground()], }); await server.start(); server.applyMiddleware({ app }); };
Aquí, configuramos el servidor para utilizar Apollo con GradQL Playground, facilitando la ejecución de consultas.
¿Cómo integrar el servidor dentro de tu aplicación?
Para ligar GradQL a la aplicación Express ya existente:
-
Modificar
app.js
: Integra la función que acabamos de crear:const express = require('express'); const startServer = require('./gradql/index'); const app = express(); startServer(app);
-
Ejecución de tu aplicación:
Asegúrate de que
createApp
y otras funciones relacionadas estén configuradas como asincrónicas y manejen promesas correctamente usandoasync/await
.
¿Cómo desplegar y verificar tu servidor?
Con toda la configuración en su lugar, realiza un despliegue sencillo con:
npm run dev
Dirígete a http://localhost:3000/gradql
. Al cargar este endpoint, se debería mostrar un entorno de consultas donde puedes ejecutar el siguiente ejemplo y obtener la respuesta Hola, mundo
.
{
hello
}
Felicitaciones, has creado con éxito tu primer servidor GradQL. Este entorno proporciona una plataforma para comenzar a explorar y jugar con el lenguaje de consulta de GradQL. Continúa aprendiendo y experimentando, ¡las posibilidades son infinitas!