Hvordan teste GraphQL ved hjelp av Postman

1. Oversikt

I denne korte opplæringen viser vi hvordan du tester GraphQL-endepunkter ved hjelp av Postman.

2. Skjemaoversikt og metoder

Vi bruker sluttpunktene som er opprettet i vår GraphQL-opplæring. Som en påminnelse inneholder skjemaet definisjoner som beskriver innlegg og forfattere:

skriv innlegg {id: ID! tittel: String! tekst: String! kategori: Stringforfatter: Forfatter! } skriv Forfatter {id: ID! navn: String! miniatyrbilde: Stringinnlegg: [Innlegg]! }

I tillegg har vi metoder for å vise innlegg og skrive nye:

skriv spørring {recentPosts (count: Int, offset: Int): [Post]! } skriv Mutation {writePost (tittel: String !, tekst: String !, category: String): Post! }

Når du bruker en mutasjon for å lagre data, blir obligatoriske felt er merket med et utropstegn. Legg også merke til at i vår Mutasjon, den returnerte typen er Post, men i Spørsmål, vi får en liste over Post gjenstander.

Ovennevnte skjema kan lastes inn i Postman API-delen - bare legg til Ny API med GraphQL skriv og trykk Generer samling:

Når vi har lastet inn skjemaet vårt, kan vi enkelt skrive eksempelspørsmål ved hjelp av Postmans autofullføringsstøtte for GraphQL.

3. GraphQL-forespørsler i Postman

Først av alt tillater Postman oss å sende kropp i GraphQL-format - vi velger bare GraphQL-alternativet nedenfor:

Deretter kan vi skrive et eget GraphQL-spørsmål, som en som får oss tittel, kategoriog forfatter Navn inn i QUERY-delen:

spørring {recentPosts (count: 1, offset: 0) {title category author {name}}}

Og som et resultat får vi:

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

Det er også mulig å send en forespørsel i råformat, men vi må legge til Innholdstype: applikasjon / graphql til topptekstdelen. Og i dette tilfellet ser kroppen ut den samme.

For eksempel kan vi oppdatere tittel, tekst, kategori, få en id og tittel som svar:

mutasjon {writePost (tittel: "Innlegg", tekst: "test", kategori: "test",) {id tittel}}

Den typen operasjon - som spørsmål og mutasjon - kan utelates fra spørreteksten så lenge vi bruker en stenografisk syntaks. I dette tilfellet kan vi ikke bruke navnet på operasjonen og variablene, men det anbefales å bruke operasjonsnavnet for enklere logging og feilsøking.

4. Bruke variabler

I variabelseksjonen kan vi lage et skjema i JSON-format som vil tildele verdier til variablene. Dette unngår å skrive argumenter i en spørringsstreng:

Så, vi kan endre Siste innlegg body i QUERY-delen for å dynamisk tildele verdier fra variabler:

spørring recentPosts ($ count: Int, $ offset: Int) {recentPosts (count: $ count, offset: $ offset) {id title text category}}

Og vi kan redigere delen GRAPHQL VARIABLES med det vi ønsker at variablene våre skal være satt til:

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

5. Sammendrag

Vi kan enkelt teste GraphQL ved hjelp av Postman, som også lar oss importere skjemaet og generere spørsmål om det.

En samling forespørsler finner du på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found