GraphQL APIで扱える型・フィールド・引数は、スキーマから調べられます。
このページでは、その調べ方を3つ紹介します。
どの方法でも同じスキーマを見ることになるので、手元でやりやすいものを選んでください。
GraphQLクライアントで調べる
GraphiQLやInsomniaなどのGraphQLクライアントは、接続先のスキーマを読み込んでドキュメントとして表示します。
クエリを書きながら候補を補完してくれるため、普段づかいにはこの方法が一番手軽です。
クライアントの設定はGraphQL APIのセットアップを参照してください。
スキーマ定義ファイルを読む
AnnictのソースコードにはGraphQLのスキーマ定義ファイルが含まれています。
型やフィールドを一度にまとめて見たいときは、このファイルを読むのが早いです。
rails/app/graphql/beta/schema.graphql
イントロスペクションで調べる
GraphQL APIはイントロスペクションに対応しています。
特定の型のフィールドだけを知りたいときや、スクリプトからスキーマを取得したいときに使えます。
次の例は Work 型が持つフィールドの一覧を取得します。
$ curl https://api.annict.com/graphql \
-H "Authorization: Bearer <アクセストークン>" \
-X POST \
-d 'query={ __type(name: "Work") { fields { name description } } }'
__schema を使うと、クエリとミューテーションの一覧を取得できます。
query {
__schema {
queryType {
fields {
name
}
}
mutationType {
fields {
name
}
}
}
}