GraphQLスキーマの探索
多くのGraphQLクライアントは、introspectionを利用してGraphQLスキーマのブラウジングをサポートしています。このページでは、GraphiQLとAltairクライアントについて説明します。
GraphiQL ↗とAltair ↗は、クエリを構成し、実行し、結果を検査するためのツールを提供するオープンソースのGraphQLクライアントです。また、ボーナスとして、GraphQLスキーマをブラウズすることもできます。
始める前に、APIエンドポイントとHTTPヘッダーを設定することを忘れないでください。
以下のスクリーンショットはGraphiQLからのものです。ただし、Altairも同様の機能を提供しており、スキーマを探索するための指示に従う際に困難はありません。
GraphiQLドキュメントエクスプローラーを開くには、レスポンスペインのヘッダーにあるDocsリンクを選択します:

ドキュメントエクスプローラーが開き、利用可能なオブジェクトのリストが表示されます:

ドキュメントエクスプローラーのオブジェクトは、次の構文を使用します:
object-name: object-type-definitionドキュメントエクスプローラーペインを最初に開くと、mutationとqueryのルートタイプが表示されます:

この例では、queryがルートの名前で、Queryが型定義です。
ノードの型定義をクリックすると、それが提供するフィールドを表示します。ドキュメントエクスプローラーはノードの説明も表示します。
例えば、Query型定義を選択します。ドキュメントエクスプローラーはQueryが提供するフィールドを表示します。この例では、フィールドはcostとviewerです:

スキーマを探索するには、オブジェクトや定義の名前を選択します。また、検索入力(虫眼鏡アイコン)やヘッダーのパンくずリストリンクを使用することもできます。
viewerフィールド(金色のテキスト)の型定義をクリックして、そのサブフィールドのリストを表示します。viewerフィールドは、accountsまたはzonesデータをクエリするためのサブフィールドを提供します:

accountsおよびzonesノードは、どのデータセットをクエリするかを指定する引数を取ります。
例えば、zonesはZoneFilter_InputObject型のフィルターを引数として取ることができます。フィルターに利用可能なフィールドを表示するには、ZoneFilter_InputObjectを選択します。
クエリ可能なデータセットのリストを表示するには、zone型定義(金色のテキスト)を選択します:

フィールドセクションに、各データセットの有効な引数のリストと簡単な説明が表示されます。感嘆符(!)で終わる引数は必須です。

特定のデータセットを見つけるには、検索入力(虫眼鏡アイコン)を使用します:

データセットを選択するには、その名前を選択します。
データセットの定義が表示されます。この例では、firewallEventsAdaptiveデータセットが示されています:

特定のデータセットに対して利用可能なフィールドを表示するには、その型定義(金色のテキスト)を選択します。
例えば、firewallEventsAdaptiveデータセットに対して利用可能なフィールドを表示するには、ZoneFirewallEventsAdaptive型定義を選択します:

フィールドのリストが表示されます:

GraphiQLの使用に関する詳細情報については、このガイドをご覧ください。