Читать книгу GraphQL - Dominik Kress - Страница 30

Die GraphQL-Querys

Оглавление

Requests für lesenden Zugriff stellt der Client über einen Query. Dieser kann wie folgt aussehen:

{

hero (name="Luke Skywalker"){

name

homeworld {

name

position

}

species {

name

origin {

name

}}}}

Listing 1–10 GraphQL Request Query

In diesem Fall wäre die Response vonseiten des Servers folgende:

{

"hero": {

"name": "Luke Skywalker",

"homeworld": {

"name": "Tatooine",

"position"; "R-16"

},

"species": {

"name": "human",

"origin": {

"name": "undefined"

}}}}

Listing 1–11 GraphQL Response

Ein Query ist eine klare Anfrage, welche spezifischen Informationen der Entwickler vom Server benötigt. Die Rückgabe enthält dabei bereits alle Informationen, auch wenn eine Anfrage Felder von mehreren Objekten benötigt. Anders als bei den einzelnen Ressourcen-Endpunkten von REST, können über einen einzigen Endpunkt alle relevanten Informationen abgerufen und modifiziert werden.

Die Querys für die lesenden Zugriffe können unter anderem, wie im oberen Beispiel mit dem Heldenname, (auch mehrfache) Parameter enthalten. Sie bieten Aliases, um mehrfach benötigte Teile der Daten unterschiedlich zu benennen, Fragmente, um Teile von sehr großen Querys in mehrmals aufrufbare Subquerys zu extrahieren, Variablen und auch Direktiven.

Mittlerweile gibt es viele Frameworks, die aus den definierten GraphQL-Schemas sowohl Client- als auch Servercode ableiten und automatisch generieren. Das erleichtert die Arbeit signifikant und unterstützt mit den definierten Schemas als API Contract den Contract-First-Ansatz.

GraphQL

Подняться наверх