Mi az a GraphQL?
Alap definíció, egyszerű lekérdezés és a GraphQL válasz struktúrájának logikája.
Mi az a GraphQL?
A GraphQL egyszerre háromféle dolog:
- Lekérdezőnyelv – a kliens oldalán leírja, milyen adatokat szeretne
- Sémanyelv – a szerver oldalán leírja, milyen adatok érhetők el
- Futtatókörnyezet – végrehajtja a lekérdezéseket és visszaadja az adatokat
Egy egyszerű hasonlat
Képzelj el egy éttermet. REST API esetén az étlapon kész menük vannak: ha az „A menüt" rendeled, kapsz levest, főételt és salátát – akkor is, ha csak a főételre van szükséged. GraphQL esetén viszont te mondod meg a pincérnek pontosan, mit szeretnél: „Kérek egy főételt, köret nélkül, és mellé egy pohár vizet." Semmi több, semmi kevesebb.
Hogyan néz ki egy egyszerű GraphQL lekérdezés?
query GetUser {
user(id: "1") {
id
name
email
}
}A válasz pontosan annyi adatot tartalmaz, amennyit kértél:
{
"data": {
"user": {
"id": "1",
"name": "Kovács Péter",
"email": "peter@example.com"
}
}
}Egyetlen végpont
Az egyik legszembeötlőbb különbség a REST-tel szemben: a GraphQL egyetlen HTTP végpontot (/graphql) használ minden művelethez. A különböző lekérdezések és módosítások nem különálló URL-eken élnek, hanem mind ugyanazon a ponton keresztül futnak, a kérés törzsében leírva.
Rövid összefoglaló
- A GraphQL egy lekérdezőnyelv és futtatókörnyezet API-okhoz.
- A kliens maga határozza meg, milyen adatokat szeretne kapni.
- Egyetlen végpontot (
/graphql) használ minden művelethez. - A válasz struktúrája pontosan tükrözi a lekérdezés struktúráját.