thumbnail

GraphQL Playgroundの使い方

2021/09/11

REST APIのドキュメント兼実行環境としてはswaggerがよく利用されています。 Graphql APIにおいてそのswaggerの代わりになるものがGraphiQLgraphql playgroundです。 ここではGraphql APIを初めて利用される方向けにgraphql playgroudの基本的な使い方について紹介したいと思います。 説明の際には以下のSaleorの公開Demo APIを使用させていただきます。 https://demo.saleor.io/graphql/

graphql-playground-1

SCHEMA

graphql playgroundを開くと、右側にSCHEMAのタグが見えると思います。 そのタグをクリックすると、Graphql APIのschemaファイルを確認することができます。

garaphql-playground-schema

SCHEMAにはgraphql playground構築に必要なGaraphql APIのデータやクエリの定義が記載されています。 いわばREST APIでのOpen APIフォーマットで記述されたyml, jsonファイルみたいなものです。 graphql playground上ではこのSCHEMAファイルをjson形式、もしくはgraphql形式で直接ダウンロードする事が可能です。

DOCS

graphql-playground-docs

SCHEMAタグの上のDOCSタグを押すと、Graphql APIのドキュメントを確認することができます。 graphql playgroud上ではこのDocumentを参照してQueryMutationリクエストを試すことになります。

Query

GraphQL上でREST APIのGETに対応するリクエストがQueryです。 graphql playground上では左側にqueryを書いて真ん中のplayボタンを押すことで右側にそのqueryのレスポンス結果が表示されます。

graphql-playground-query

画像ではproductsの中でchannel"default-channel"のものを最初の5個だけ取ってくるqueryを実行しています。 どんな引数が使えるのか、どのデータが取得できるのかは先程のDOCSにすべて記載されています。

Mutation

MUTATIONはデータリソースを変更するGraphQLリクエストです(REST APIでいうPUTPOSTDELETE)。 使い方はQueryとほとんど同じです。

http headers

playgroundの左下にあるhttp headersではリクエストのheaderをカスタマイズすることが可能です。 例えば、headerのAuthorizationaccess tokenを設定したい場合はhttp headers内に以下のように記載します。

graphql-playground-headers

query variables

http headersの隣にあるquery variablesではqueryに使用する変数を設定できます。

graphql-playground-query-variables

その他の便利機能

  • tab
    graphql playgroundでは異なるquerymutationを別tabで管理できます(かなり便利)。

graphql-playground-tabs

  • history
    過去に実行したquerymutationをさかのぼって再現できます。

  • prettify
    queryをフォーマットしてくれます。

おわり

良いGraphQLライフを! 👍

author picture

Mitsuru Takahashi

京都市内にてフリーランスエンジニアとして活動しています。

detail

Profile

author picture

Mitsuru Takahashi

京都市内にてフリーランスエンジニアとして活動しています。

detail

© 2022 mitsuru takahashi