So testen Sie GraphQL mit Postman

1. Übersicht

In diesem kurzen Tutorial zeigen wir, wie Sie GraphQL-Endpunkte mit Postman testen.

2. Schemaübersicht und Methoden

Wir werden die in unserem GraphQL-Tutorial erstellten Endpunkte verwenden. Zur Erinnerung enthält das Schema Definitionen, die Beiträge und Autoren beschreiben:

type Post { id: ID! title: String! text: String! category: String author: Author! } type Author { id: ID! name: String! thumbnail: String posts: [Post]! }

Außerdem haben wir Methoden zum Anzeigen und Schreiben neuer Beiträge:

type Query { recentPosts(count: Int, offset: Int): [Post]! } type Mutation { writePost(title: String!, text: String!, category: String) : Post! }

Wenn Sie eine Mutation zum Speichern von Daten verwenden, werden die erforderlichen Felder mit einem Ausrufezeichen markiert . Beachten Sie auch, dass in unserer Mutation der zurückgegebene Typ Post ist. In Query erhalten wir jedoch eine Liste der Post- Objekte.

Das obige Schema kann in den Postman-API-Abschnitt geladen werden. Fügen Sie einfach eine neue API mit GraphQL- Typ hinzu und klicken Sie auf Sammlung generieren :

Sobald wir unser Schema geladen haben, können wir mithilfe der Postcom-Unterstützung für die automatische Vervollständigung von GraphQL problemlos Beispielabfragen schreiben .

3. GraphQL-Anfragen in Postman

Zunächst erlaubt uns Postman, den Text im GraphQL-Format zu senden - wir wählen einfach die folgende GraphQL-Option:

Dann können wir eine native GraphQL Abfrage schreiben, wie eine , die uns bekommt Titel , Kategorie und Autor Namen in den Abschnitt QUERY:

query { recentPosts(count: 1, offset: 0) { title category author { name } } }

Und als Ergebnis erhalten wir:

{ "data": { "recentPosts": [ { "title": "Post", "category": "test", "author": { "name": "Author 0" } } ] } }

Es ist auch möglich , eine Anfrage im Rohformat zu senden , aber wir müssen dem Header-Abschnitt Content-Type: application / graphql hinzufügen . Und in diesem Fall sieht der Körper gleich aus.

Zum Beispiel können wir Titel, Text, Kategorie aktualisieren , eine ID und einen Titel als Antwort erhalten:

mutation { writePost ( title: "Post", text: "test", category: "test", ) { id title } }

Die Art der Operation - wie Abfrage und Mutation - kann im Abfragetext weggelassen werden, solange wir eine Kurzsyntax verwenden. In diesem Fall können wir den Namen der Operation und der Variablen nicht verwenden. Es wird jedoch empfohlen, den Operationsnamen zu verwenden, um die Protokollierung und das Debuggen zu vereinfachen.

4. Verwenden von Variablen

Im Abschnitt Variablen können wir ein Schema im JSON-Format erstellen, das den Variablen Werte zuweist. Dadurch wird vermieden, dass Argumente in eine Abfragezeichenfolge eingegeben werden:

So können wir das ändern recentPosts Körper im QUERY Abschnitt dynamisch assign Werte von Variablen:

query recentPosts ($count: Int, $offset: Int) { recentPosts (count: $count, offset: $offset) { id title text category } }

Und wir können den Abschnitt GRAPHQL VARIABLES mit dem bearbeiten, auf das unsere Variablen gesetzt werden sollen:

{ "count": 1, "offset": 0 }

5. Zusammenfassung

Wir können GraphQL einfach mit Postman testen, wodurch wir auch das Schema importieren und Abfragen dafür generieren können.

Eine Sammlung von Anfragen finden Sie auf GitHub.