3.1 Osnove GraphQL-a

GraphQL1) omogućuje fleksibilne, precizne upite podataka.

Što je GraphQL?

GraphQL2) je jezik upita za API-je i runtime okruženje za izvršavanje tih upita. Za razliku od REST-a3), klijenti mogu zatražiti točno one podatke koji su im potrebni.

Endpoint

POST /api/v1/dsn/{dbName}/graphql
Content-Type: application/json

Jednostavan upit

{
  "query": "{ customers { id name country } }"
}

S parametrima

{
  "query": "{ customers(first: 10, filter: \"Country eq 'DE'\") { id name } }"
}

Dohvaćanje sheme

GET /api/v1/dsn/demo/graphql/schema

Vraća GraphQL shemu u SDL4) formatu.

Prednosti u odnosu na REST

Aspekt REST GraphQL
Endpointi Mnogo (po resursu) Jedan
Over-fetching Često Nikad
Under-fetching Često (N+1) Nikad
Tipska sigurnost Opcionalno Ugrađeno
Dokumentacija Vanjska (OpenAPI5)) Integrirana (Introspection)

Izvori

1)
GraphQL specifikacija: https://spec.graphql.org/
2)
GraphQL Foundation: https://graphql.org/
4)
Schema Definition Language: https://graphql.org/learn/schema/
5)
OpenAPI Specification: https://www.openapis.org/
Zuletzt geändert: 29.01.2026. u 23:31