GraphQL1) ermöglicht flexible, präzise Datenabfragen.
GraphQL2) ist eine Query-Sprache für APIs und eine Laufzeitumgebung zum Ausführen dieser Queries. Im Gegensatz zu REST3) können Clients genau die Daten anfordern, die sie benötigen.
POST /api/v1/dsn/{dbName}/graphql
Content-Type: application/json
{ "query": "{ customers { id name country } }" }
{ "query": "{ customers(first: 10, filter: \"Country eq 'DE'\") { id name } }" }
GET /api/v1/dsn/demo/graphql/schema
Liefert das GraphQL-Schema im SDL4)-Format.
| Aspekt | REST | GraphQL |
|---|---|---|
| Endpunkte | Viele (pro Ressource) | Einer |
| Over-fetching | Häufig | Nie |
| Under-fetching | Häufig (N+1) | Nie |
| Typsicherheit | Optional | Eingebaut |
| Dokumentation | Extern (OpenAPI5)) | Integriert (Introspection) |