La comunicazione e il trasferimento di dati tra il front -end e il backend di qualsiasi applicazione si verificano tramite API (interfaccia di programmazione dell'applicazione). Esistono molti tipi diversi di API utilizzati per comunicare tra applicazioni anteriori e back-end come API RESTful, SOAP API, API GraphQL, ecc. L'API GraphQL è una tecnologia relativamente nuova ed è molto più veloce di altri tipi di API disponibili. Fetching Data dal database utilizzando l'API GraphQL è molto più veloce dell'API REST. Durante l'utilizzo dell'API GraphQL, il client ha il controllo per recuperare solo i dati richiesti invece di ottenere tutti i dettagli; Ecco perché l'API GraphQL funziona più velocemente dell'API REST.
Installazione di pacchetti
Costruiremo un nodo.Applicazione JS utilizzando l'API GraphQL, quindi dobbiamo installare il nodo.JS e NPM per questo prima di iniziare il progetto.
ubuntu@ubuntu: ~ $ sudo apt -get update -y
ubuntu@ubuntu: ~ $ sudo apt-get install nodejs
ubuntu@ubuntu: ~ $ sudo apt-get Installa npm
Impostazione del progetto
Useremo il framework "Express" dal nodo.JS per costruire la nostra applicazione. Crea una directory denominata "graphql" e avvia il progetto.
ubuntu@ubuntu: ~ $ mkdir graphql
ubuntu@ubuntu: ~ $ cd graphql/
ubuntu@ubuntu: ~ $ npm init -y
Setup MongoDB
Nel nostro progetto GraphQL, useremo MongoDB come database. MongoDB è un database di schema e memorizza i dati sotto forma di coppie di chiavi. Per installare MongoDB, seguire i passaggi dati.
Importa la chiave GPG pubblica per MongoDB.
ubuntu@ubuntu: ~ $ wget -qo - https: // www.MongodB.org/statico/pgp/server-4.4.ASC | sudo Apt-Key Aggiungi -
Crea il file dell'elenco per MongoDB.
ubuntu@ubuntu: ~ $ echo "deb [arch = amd64, arm64] https: // repo.MongodB.Org/Apt/Ubuntu Bionic/MongoDB-ORG/4.4 Multiverse "| sudo tee/etc/apt/fonti.elenco.D/MongoDB-ORG-4.4.elenco
Aggiorna i repository locali.
ubuntu@ubuntu: ~ $ sudo apt -get update -y
Installa il pacchetto MongoDB.
ubuntu@ubuntu: ~ $ sudo apt-get install -y mongodb-org
Inizia e abilita Mongod.servizio.
ubuntu@ubuntu: ~ $ sudo systemctl avvia mongolo.servizio
ubuntu@ubuntu: ~ $ sudo systemctl abilita Mongod.servizio
Installazione di moduli NPM
Per la nostra applicazione GraphQL, dobbiamo installare alcuni pacchetti NPM. Installeremo CORS, Express, Body-Parser, Mongoose, ecc.
ubuntu@ubuntu: ~ $ cd graphql/
ubuntu@ubuntu: ~ $ npm Installa Cors Express Body-Parser Mongoose-Save
Per creare un'API GraphQL, dobbiamo installare un pacchetto NPM extra chiamato 'Apollo-Server-Express.'Questo pacchetto NPM viene utilizzato per eseguire GraphQL Server con tutto il nodo.framework HTTP JS come 'Express.'
ubuntu@ubuntu: ~ $ npm Installa Apollo-Server-Express-Save
Definizione dello schema MongoDB
Ora abbiamo il nostro ambiente impostato per la nostra applicazione graphql in nodo.JS, ed è tempo di definire uno schema per la nostra applicazione. Crea modelli/studente di un file.JS 'nella directory del progetto radice.
// Definizione dello schema degli studentiNello schema sopra definito, ogni studente deve avere un nome, una classe e un maggiore.
Costruire API GraphQL
Dopo aver creato lo schema dello studente, ora creeremo API GraphQL. Crea uno schema '.JS 'per scrivere i parametri grafici. Esistono due parametri, "tipi" e "risolutori", utilizzati nell'API GraphQL. In "Tipi", specificheremo il nostro schema, le domande (E.G., Fare richieste di ottenere) e mutazioni (E.G., Aggiornare o eliminare le richieste) allo schema specificato. Scriveremo i diversi metodi definiti in "tipi" per collegare le query e le mutazioni con il database in "Resolvers.'
// Importazione dello schema e del moduloCreazione del server API GraphQL
Ora abbiamo quasi finito di creare l'applicazione GraphQL. L'unico passaggio rimasto è creare il server. Crea un file denominato "app.JS 'per configurare i parametri del server.
// Importazione dei pacchetti richiestiTestare l'API GraphQL
Abbiamo il nostro server GraphQL attivo ed in esecuzione sulla porta 8000 ed è tempo di testare l'API GraphQL. Apri la pagina Web GraphQL nel browser visitando il seguente URL.
http: // localhost: 8000/graphql
E aprirà la seguente pagina web.
Aggiungi lo studente al database utilizzando GraphQL API.
Allo stesso modo, aggiungi più studenti e dopo aver aggiunto lo studente, ottieni tutti gli studenti che utilizzano graphql API.
Nota l'ID di uno degli studenti e ottenere lo studente specifico usando il suo ID.
Conclusione
Il recupero dei dati dal database utilizzando l'API REST standard rende la query rallentata poiché a volte otteniamo più dati di quanto richiesto. Usando GraphQL, possiamo recuperare esattamente i dati richiesti che rendono più veloce l'API graphql. In questo progetto demo, abbiamo solo un singolo schema, quindi abbiamo creato API GraphQL per quel singolo schema. Inoltre, abbiamo definito da tre a quattro metodi per lo schema. Puoi creare più di una query o mutazioni in base alla tua applicazione.