APIをGraphQLで構築している外部サービスを利用することになった
提供されたドキュメントには利用できるクエリや型の情報が載っているが、使うとなった時にドキュメントから読み取ってスキーマを作るのは辛いと感じた
なのでドキュメントからではなくGraphQLスキーマが実際どのようなクエリをサポートしているのか知る方法を調べた
Introspectionを使う
GraphQLには Introspection という機能があることを知った
https://graphql.org/learn/introspection/
https://spec.graphql.org/October2021/#sec-Schema-Introspection
Introspection はGraphQLサーバーで利用される引数、フィールド、型、description、型の非推奨ステータスなどのデータ構造に関する情報を教えてくれるというもの
{ __schema { types { name } } }
自身が Introspection を利用するのもいいが、それを使ってschema.jsonを生成し、それを基に利用したいプログラミング言語の型にしてくれるツールがあるので、それを利用するのが良さそう
例えば、Apollo でのコード生成ツールなどを利用するのが良さそう