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/
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