Inhaltsverzeichnis
3.1 GraphQL osnove
GraphQL1) omogoča prilagodljive, natančne podatkovne poizvedbe.
Kaj je GraphQL?
GraphQL2) je poizvedovalni jezik za API-je in izvajalno okolje za izvajanje teh poizvedb. V nasprotju z REST3) lahko odjemalci zahtevajo točno tiste podatke, ki jih potrebujejo.
Končna točka
POST /api/v1/dsn/{dbName}/graphql
Content-Type: application/json
Enostavna poizvedba
{ "query": "{ customers { id name country } }" }
S parametri
{ "query": "{ customers(first: 10, filter: \"Country eq 'DE'\") { id name } }" }
Pridobivanje sheme
GET /api/v1/dsn/demo/graphql/schema
Vrne GraphQL shemo v SDL4) obliki.
Prednosti v primerjavi z REST
| Vidik | REST | GraphQL |
|---|---|---|
| Končne točke | Mnogo (na vir) | Ena |
| Over-fetching | Pogosto | Nikoli |
| Under-fetching | Pogosto (N+1) | Nikoli |
| Tipska varnost | Neobvezna | Vgrajena |
| Dokumentacija | Zunanja (OpenAPI5)) | Integrirana (Introspection) |
Viri
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: dne 29.01.2026 ob 23:29