Learning
GraphQL

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.

On this page