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.