Inhaltsverzeichnis
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/
3)
Representational State Transfer: https://de.wikipedia.org/wiki/Representational_State_Transfer
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