変数
GraphQLを使用するときにすべての値をハードコーディングしないように、API ExplorerはJSONオブジェクトを追加できる変数セクションを提供します。JSONオブジェクトのトップレベルキーは、ドル記号($KEY_NAME)で示される名前を持つ変数として利用可能になります。これにより、動的なクエリ、ミューテーション、サブスクリプションを作成してテストする際に、より快適な開発体験が可能になります。
GraphQL Mutation
Section titled “GraphQL Mutation”query MyQuery1 ($domain: String) { students( filter: { email: { contains: $domain } } ) { items { id firstName email } }}{ "domain": "example.com"}
GraphQLサーバーにリクエストを送信する際、操作ドキュメントはそのままにして、動的な入力をいくつか追加する必要がある場合があります。これらが操作の変数です。変数は、GraphQL操作で宣言される型付き引数である必要があります。GraphQLは静的に型付けされているため、正しい変数が渡されているかどうかを検証できます。
次の2つの例は、「Active」ステータスを持ち、名前が「M」で始まるユーザーのリストをクエリするために連携して機能します。
GraphQL Mutation
Section titled “GraphQL Mutation”query MyQuery1($name_start: String, $status: Boolean) { students( filter: { firstName: { starts_with: $name_start }, isActive: { equals: $status } } ) { items { id firstName email } }}{ "name_start": "M", "status": true}
型付き変数の宣言
Section titled “型付き変数の宣言”変数は単一の入力値に限定されません。ワークスペースで宣言された任意の型(ネイティブまたはカスタム)を持つ複雑なオブジェクトにすることができます。これにより、フィルタ全体、ソート、その他多くのものを変数として動的に渡すことができます。
GraphQL Mutation
Section titled “GraphQL Mutation”query MyQuery ( $filter: StudentsFilter $first: Int $orderBy: StudentsOrderBy) { students( filter: $filter first: $first orderBy: $orderBy ) { count items { id firstName lastName age } }}{ "filter": { "email": { "contains": "example" }, "firstName": { "starts_with": "M" } }, "orderBy": { "lastName": "ASC"}, "first": 2}