変数
GraphQL で作業するときにすべての値をハードコーディングしないようにするために、API Explorer には JSON オブジェクトを追加できる変数セクションが用意されています。JSON オブジェクトのトップレベルキーは、ドル記号 ($KEY_NAME) で示される名前を持つ変数として使用可能になります。これにより、動的なクエリ、ミューテーション、およびサブスクリプションを作成してテストするときに、はるかに快適な開発エクスペリエンスが可能になります。
GraphQL ミューテーション
Section titled “GraphQL ミューテーション”query MyQuery1 ($domain: String) { students( filter: { email: { contains: $domain } } ) { items { id firstName email } }}{ "domain": "example.com"}
操作ドキュメントを同じままにして、GraphQL サーバーにリクエストを送信するときに、いくつかの動的な入力を追加する必要がある場合があります。これらは操作の変数です。変数は、GraphQL 操作で宣言される型付き引数である必要があります。GraphQL は静的に型付けされているため、正しい変数を渡しているかどうかを検証できます。
次の 2 つの例は、ステータスが「アクティブ」で、名前が「M」で始まるユーザーのリストをクエリするために連携します。
GraphQL ミューテーション
Section titled “GraphQL ミューテーション”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 ミューテーション
Section titled “GraphQL ミューテーション”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}