La comunicación y la transferencia de datos entre el extremo frontal y el backend de cualquier aplicación ocurre a través de API (interfaz de programación de aplicaciones). Hay muchos tipos diferentes de API utilizadas para comunicarse entre las aplicaciones frontales y de fondo como API RESTFUL, API SOAP, API GraphQL, etc. La API GraphQL es una tecnología relativamente nueva, y es mucho más rápido que otros tipos de API disponibles. Obtener datos de la base de datos utilizando la API GraphQL es mucho más rápido que la API REST. Mientras usa la API GraphQL, el cliente tiene control para obtener solo los datos requeridos en lugar de obtener todos los detalles; Es por eso que GraphQL API funciona más rápido que REST API.
Instalación de paquetes
Construiremos un nodo.Aplicación JS usando la API GraphQL, por lo que necesitamos instalar el nodo.JS y NPM para esto antes de comenzar el proyecto.
ubuntu@ubuntu: ~ $ sudo apt -get update -y
ubuntu@ubuntu: ~ $ sudo apt-get install nodejs
ubuntu@ubuntu: ~ $ sudo apt-get install npm
Configuración del proyecto
Usaremos el marco 'Express' desde el nodo.JS para construir nuestra aplicación. Cree un directorio llamado 'GraphQL' e inicie el proyecto.
ubuntu@ubuntu: ~ $ mkdir graphql
ubuntu@ubuntu: ~ $ CD Graphql/
ubuntu@ubuntu: ~ $ npm init -y
Configuración de MongoDB
En nuestro proyecto GraphQL, utilizaremos MongoDB como nuestra base de datos. MongoDB es una base de datos de esquemas y almacena datos en forma de pares de claves. Para instalar MongoDB, siga los pasos dados.
Importar la clave GPG pública para MongoDB.
ubuntu@ubuntu: ~ $ wget -qo - https: // www.mongodb.org/static/pgp/server-4.4.ASC | sudo apt-key agregar -
Cree el archivo de lista para MongoDB.
ubuntu@ubuntu: ~ $ echo "Deb [arch = amd64, arm64] https: // repositorio.mongodb.org/apt/ubuntu bionic/mongoDB-org/4.4 multiverso "| Sudo Tee/etc/apt/fuentes.lista.D/MongoDB-ORG-4.4.lista
Actualizar repositorios locales.
ubuntu@ubuntu: ~ $ sudo apt -get update -y
Instalar el paquete MongoDB.
ubuntu@ubuntu: ~ $ sudo apt-get install -y mongodb-org
Iniciar y habilitar mongod.servicio.
ubuntu@ubuntu: ~ $ sudo systemctl start mongod.servicio
ubuntu@ubuntu: ~ $ sudo systemctl habilita mongod.servicio
Instalación de módulos NPM
Para nuestra aplicación GraphQL, necesitamos instalar algunos paquetes NPM. Instalaremos Cors, Express, Body-Parser, Mongoose, etc.
ubuntu@ubuntu: ~ $ CD Graphql/
ubuntu@ubuntu: ~ $ npm instalar Cors express cuerpo-pargoose --save
Para crear una API GraphQL, necesitamos instalar un paquete NPM adicional llamado 'Apollo-Server-Express.'Este paquete NPM se usa para ejecutar GraphQL Server con todo el nodo.marcos JS HTTP como 'Express.'
ubuntu@ubuntu: ~ $ npm install apollo-server-express --save
Definición del esquema MongoDB
Ahora tenemos nuestro entorno configurado para nuestra aplicación GraphQL en el nodo.JS, y es hora de definir un esquema para nuestra aplicación. Crear un archivo 'modelos/estudiante.JS 'en el directorio de la raíz del proyecto.
// Definición del esquema de estudiantesEn el esquema definido anteriormente, cada estudiante debe tener un nombre, clase y especialización.
API GraphQL de construcción
Después de crear el esquema estudiantil, ahora construiremos la API GraphQL. Crear un 'esquema.JS 'para escribir parámetros GraphQL. Hay dos parámetros, 'tipos' y 'resolvers', utilizados en la API GraphQL. En 'tipos', especificaremos nuestro esquema, las consultas (e.gramo., Hacer solicitudes de obtener) y mutaciones (e.gramo., Hacer solicitudes de actualización o eliminación) al esquema especificado. Escribiremos los diferentes métodos definidos en 'tipos' para vincular las consultas y mutaciones con la base de datos en 'Resolvers.'
// Importar esquema y móduloCreación del servidor API GraphQL
Ahora casi hemos terminado de crear la aplicación GraphQL. El único paso restante es crear el servidor. Crear un archivo llamado 'aplicación.JS 'para configurar los parámetros del servidor.
// Importar paquetes requeridosPrueba de la API GraphQL
Tenemos nuestro servidor GraphQL en funcionamiento en el puerto 8000, y es hora de probar la API GraphQL. Abra la página web GraphQL en el navegador visitando la siguiente URL.
http: // localhost: 8000/graphql
Y abrirá la siguiente página web.
Agregue el estudiante a la base de datos utilizando la API GraphQL.
Del mismo modo, agregue más estudiantes, y después de agregar al estudiante, obtenga a todos los estudiantes usando la API GraphQL.
Tenga en cuenta la identificación de cualquiera de los estudiantes y haga que el estudiante específico use su identificación.
Conclusión
Obtener datos de la base de datos utilizando la API REST estándar hace que la consulta sea lenta, ya que a veces obtenemos más datos de los requeridos. Usando GraphQL, podemos obtener exactamente los datos requeridos que hacen que la API GraphQL sea más rápido. En este proyecto de demostración, solo tenemos un solo esquema, por lo que hemos creado una API GraphQL para ese único esquema. Además, hemos definido de tres a cuatro métodos para el esquema. Puede crear más de una consulta o mutaciones de acuerdo con su aplicación.