Como Crear Una API Con GraphQL

5 minuto(s)

Demo Github

Las API en la mayoría de casos se suelen desarrollar siguiendo los patrones habituales como la llamada de datos mediante un controlador que hace uso de los modelos con los campos de una tabla o documento, los cuales queremos mostrar en un endpoint o punto final de nuestra API REST. Con GraphQL las cosas cambian un poco, la configuración que necesitamos realizar suele tomarnos más tiempo, pero valdrá la pena, ya que GraphQL nos permite realizar consultas de manera flexible y dinámica, que hacen que una API sea más rápida. En este tutorial te enseñare a Como Crear Una API Con GraphQL, vamos con ello. 

API REST
GraphQL permite realizar consultas sobre la misma estructura de código

Antes de continuar, te invito a escuchar el Podcast: “Dominio del trabajo con Varios Lenguajes de Programación” y “ChatGPT ¿ Dejará sin empleo a los Desarrolladores ?” (Anchor Podcast):

Spotify: Sound Cloud: Apple Podcasts Anchor Podcasts

Bien ahora continuemos con el Post: Como Crear Una API Con GraphQL.

Como Crear Una API Con GraphQL

Ya que usaremos Node JS, es importante que debas tenerlo instalado y configurado correctamente en tu computadora. Si estas usando windows te recomiendo leer el post Que es y Como instalar Node JS (Windows), si ya tienes Node JS, puedes saltar ese paso.

Creación de Nuevo Proyecto

Primero creo un directorio llamado api-graphql para este proyecto, tu le puedes poner el nombre que desees. Ingreso al directorio y adentro de el abro la consola de comandos y ejecuto el siguiente comando:


Me hará ciertas preguntas durante el proceso de creación del proyecto, tu le debes poner los datos que desees, para este ejemplo los datos que le puse son los siguientes:


En el comando anterior al final debemos escribir y para confirmar que todo esta bien y crear el proyecto.

Si verificamos dentro del directorio del proyecto, se ha creado un archivo llamado package.json:


Dentro del archivo package.json hay una serie de dependencias que debemos instalar para que el proyecto funcione correctamente, instalamos esas dependencias ejecutando el siguiente comando en nuestra consola de comandos:


Luego de ejecutar el comando anterior, ahora la estructura de nuestro proyecto se ve así:


Para probar que nuestro proyecto con Node JS funciona correctamente, creamos un archivo llamado app.js


Abrimos el archivo app.js y le agregamos lo siguiente:


Paso seguido ejecutamos el siguiente comando en la consola de comandos:


Nos indica que el servidor esta ejecutandose en la ruta local http://127.0.0.1:3000/, si abrimos esta ruta en el navegador, podemos ver que nuestro servidor esta funcionando y por ende el proyecto inicial se ha creado correctamente:

Servidor Node JS ejecutandose
Proyecto Node JS funcionando en la ruta http://127.0.0.1:3000/

Ahora pasemos a crear la API con GraphQL.

Creación de API Con GraphQL

Para poder usar GraphQL necesitamos instalar el paquete graphql, para instalarlo ejecutamos el siguiente comando en nuestra consola de comandos:


Paso seguido abrimos nuestro archivo app.js el cual creamos anteriormente y le agregamos lo siguiente al final del código (he colocado comentarios para explicar que hace cada sección del código):


Entonces nuestro archivo app.js se veria de la siguiente manera:


Ejecutamos el siguiente comando en nuestra consola de comandos y podemos ver que nuestra API esta devolviendo un mensaje mediante GraphQL:


Con ello hemos creado nuestro primera API con GraphQL, si bien el servidor Node JS no lo estamos utilizando all 100%, pero lo puedes usar para devolver datos a tu vista mediante Express JS y hacer muchas cosas en el.

Conclusión

En este tutorial has aprendido a Como Crear Una API Con GraphQL, si bien esta es un ejemplo sencillo, te servirá como base para crear APIs más complejas. En otro tutorial veremos como crear APIs más avanzadas, ya que GraphQL puede ser usado en Python, PHP, Java, C#, Node JS, etc. Puedes ver la lista completa en este enlace.

Nota

  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.