Skip to content

1. Graph QL

Was ist GraphQL¶

Ist eine API mit nur einem Endpunkt. Bisher hatte die API mehrere unterschiedliche Endpunkte, aber hierbei beschränkt man sich auf einen der die diversen Anfragen handhabt.

GraphQL Services nutzen oft gleiche Endpunkte-Namen. - /graphql - /api - /api/graphql - /graphql/api - /graphql/graphql - oder zusätzlich mit */v1

Akzeptiert nur POST requests mit Content-type application/json, hilft gegen CSRF vulnerabilities. Manchmal werden aber auch alternative methoden akzeptiert wie z. B: x-www-form-urlencoded

Sobald ein Endpunkt gefunden ist kann man anfangen Querys zu bauen und zu senden.

Standard GraphQL-Request¶

curl -i -X POST https://example.com/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{"query":"{ user(id:5){ id name email } }"}'
Antwort (vereinfachtes Beispiel):
{
  "data": {
    "user": { "id": 5, "name": "Peter", "email": "Peter@htwg.de" }
  }
}