Kommunikasjon og dataoverføring mellom frontend og backend av ethvert applikasjon skjer gjennom APIer (applikasjonsprogrammeringsgrensesnitt). Det er mange forskjellige typer APIer som brukes til å kommunisere mellom front- og back-end applikasjoner som RESTful API, SOAP API, GraphQL API, etc. GraphQL API er en relativt ny teknologi, og den er mye raskere enn andre typer APIer tilgjengelig. Å hente data fra databasen ved hjelp av GraphQL API er mye raskere enn REST API. Mens han bruker GraphQL API, har klienten kontroll for å hente bare de nødvendige dataene i stedet for å få alle detaljene; Det er grunnen til at GraphQL API fungerer raskere enn REST API.
Installere pakker
Vi skal bygge en node.JS -applikasjon ved hjelp av GraphQL API, så vi må installere node.JS og NPM for dette før du starter prosjektet.
ubuntu@ubuntu: ~ $ sudo apt -get update -y
ubuntu@ubuntu: ~ $ sudo apt-get install nodejs
ubuntu@ubuntu: ~ $ sudo apt-get install npm
Sette opp prosjekt
Vi vil bruke rammen 'Express' fra Node.JS for å bygge vår søknad. Lag en katalog som heter 'Graphql' og initier prosjektet.
ubuntu@ubuntu: ~ $ mkdir grafql
ubuntu@ubuntu: ~ $ cd grafql/
ubuntu@ubuntu: ~ $ npm init -y
MongoDB -oppsett
I vårt GraphQL -prosjekt vil vi bruke MongoDB som vår database. MongoDB er en skjemalessedatabase og lagrer data i form av nøkkelpar. Følg de gitte trinnene for å installere MongoDB.
Importer den offentlige GPG -nøkkelen for MongoDB.
ubuntu@ubuntu: ~ $ wget -qo - https: // www.Mongodb.org/statisk/pgp/server-4.4.ASC | sudo apt-key add -
Opprett listefilen for MongoDB.
ubuntu@ubuntu: ~ $ ekko "Deb [arch = amd64, arm64] https: // repo.Mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse "| sudo tee/etc/apt/kilder.liste.d/mongodb-org-4.4.liste
Oppdater lokale depoter.
ubuntu@ubuntu: ~ $ sudo apt -get update -y
Installer MongoDB -pakken.
ubuntu@ubuntu: ~ $ sudo apt-get install -y mongodb-org
Start og aktiver Mongod.service.
ubuntu@ubuntu: ~ $ sudo systemctl start mongod.service
ubuntu@ubuntu: ~ $ sudo systemctl enable mongod.service
Installere NPM -moduler
For GraphQL -applikasjonen vår, må vi installere noen NPM -pakker. Vi vil installere Cors, Express, Body-Parser, Mongoose, etc.
ubuntu@ubuntu: ~ $ cd grafql/
ubuntu@ubuntu: ~ $ npm install cors express body-parser mongoose-sparer
For å lage en GraphQL API, må vi installere en ekstra NPM-pakke som heter 'Apollo-Server-Express.'Denne npm -pakken brukes til å kjøre GraphQL -server med all node.JS HTTP -rammer som 'Express.'
ubuntu@ubuntu: ~ $ npm installer apollo-server-express--LAVE
Definere MongoDB -skjema
Nå har vi miljøet vårt satt opp for GraphQL -applikasjonen vår i Node.JS, og det er på tide å definere et skjema for søknaden vår. Lag en fil 'modeller/student.JS 'i prosjektrotkatalogen.
// Definere studentskjemaI det ovennevnte skjemaet må hver elev ha et navn, klasse og major.
Bygg grafql API
Etter å ha opprettet studentskjemaet, vil vi nå bygge GraphQL API. Lag et "skjema.JS 'for å skrive grafql -parametere. Det er to parametere, 'typer' og 'oppløsere', brukt i GraphQL API. I 'typer' vil vi spesifisere skjemaet vårt, spørsmålene (e.g., Komme med forespørsler), og mutasjoner (e.g., Lage oppdatering eller slette forespørsler) til det spesifiserte skjemaet. Vi vil skrive de forskjellige metodene som er definert i 'typer' for å koble spørsmålene og mutasjonene med databasen i 'Resolvere.'
// Importere skjema og modulOpprette GraphQL API -server
Nå er vi nesten ferdige med å lage GraphQL -applikasjonen. Det eneste trinnet som er igjen er å opprette serveren. Lag en fil som heter 'App.JS 'for å konfigurere serverparametere.
// Importere nødvendige pakkerTesting av GraphQL API
Vi har GraphQL -serveren vår i gang på port 8000, og det er på tide å teste GraphQL API. Åpne grafql -websiden i nettleseren ved å besøke følgende URL.
http: // localhost: 8000/graphql
Og det vil åpne følgende webside.
Legg studenten i databasen ved hjelp av GraphQL API.
På samme måte kan du legge til flere studenter, og etter å ha lagt til studenten, få alle studentene som bruker GraphQL API.
Legg merke til IDen til noen av studentene og få den spesifikke studenten til å bruke IDen.
Konklusjon
Å hente data fra databasen ved hjelp av Standard REST API gjør spørringen treg, ettersom vi noen ganger får mer data enn nødvendig. Ved hjelp av GraphQL kan vi hente nøyaktig de nødvendige dataene som gjør GraphQL API raskere. I dette demoprosjektet har vi bare et enkelt skjema, så vi har laget GraphQL API for det enkeltskjemaet. Vi har også definert tre til fire metoder for skjemaet. Du kan opprette mer enn én spørring eller mutasjoner i henhold til applikasjonen din.