Kako testirati GraphQL pomoću poštara

1. Pregled

U ovom kratkom vodiču pokazat ćemo kako testirati krajnje točke GraphQL-a pomoću Poštara.

2. Pregled sheme i metode

Koristit ćemo krajnje točke stvorene u našem vodiču za GraphQL. Podsjećanja radi, shema sadrži definicije koje opisuju postove i autore:

upišite Post {id: ID! naslov: String! tekst: Niz! kategorija: Autor niza: Autor! } upišite Autor {id: ID! ime: Niz! minijatura: String postovi: [Objavi]! }

Osim toga, imamo metode za prikazivanje postova i pisanje novih:

upišite upit {recentPosts (count: Int, offset: Int): [Objavi]! } type Mutation {writePost (title: String !, text: String !, category: String): Post! }

Kada koristite mutaciju za spremanje podataka, obavezna polja označena su uskličnikom. Također imajte na umu da je u našem Mutacija, vraćeni tip je Objavi, ali u Upit, dobit ćemo popis Objavi predmeta.

Gornju shemu možete učitati u odjeljku Postman API - samo dodajte Novi API s GraphQL utipkajte i pritisnite Generiraj zbirku:

Jednom kad učitamo našu shemu, možemo jednostavno pisanje uzoraka upita pomoću Postman-ove podrške za samodovršavanje GraphQL-a.

3. GraphQL zahtjevi u poštaru

Prije svega, poštar nam dopušta da pošaljemo tijelo u GraphQL formatu - mi samo biramo opciju GraphQL u nastavku:

Zatim možemo napisati izvorni GraphQL upit, poput onoga koji nam daje titula, kategorija, i autor Ime u odjeljak QUERY:

upit {recentPosts (count: 1, offset: 0) {autor kategorije naslova {name}}}

I, kao rezultat, dobit ćemo:

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

Također je moguće poslati zahtjev koristeći neobrađeni format, ali moramo dodati Sadržaj-vrsta: application / graphql u odjeljak zaglavlja. I, u ovom slučaju, tijelo izgleda isto.

Na primjer, možemo ažurirati naslov, tekst, kategorija, dobiti an iskaznica i titula kao odgovor:

mutacija {writePost (naslov: "Post", tekst: "test", kategorija: "test",) {id naslov}}

Vrsta operacije - poput upit i mutacija - može se izostaviti iz tijela upita sve dok koristimo kratku sintaksu. U ovom slučaju ne možemo koristiti naziv operacije i varijable, ali preporučljivo je koristiti naziv operacije za lakše bilježenje i otklanjanje pogrešaka.

4. Korištenje varijabli

U odjeljku varijabli možemo stvoriti shemu u JSON formatu koja će varijablama dodijeliti vrijednosti. Time se izbjegava upisivanje argumenata u niz upita:

Dakle, možemo izmijeniti Najnoviji postovi tijelo u odjeljku QUERY za dinamičko dodjeljivanje vrijednosti iz varijabli:

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

A odjeljak GRAPHQL VARIJABLE možemo urediti onim što želimo da naše varijable budu postavljene na:

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

5. Sažetak

GraphQL možemo lako testirati pomoću programa Postman, koji nam također omogućuje uvoz sheme i generiranje upita za nju.

Zbirka zahtjeva može se naći na GitHubu.