Variables
Para evitar codificar todos los valores al trabajar con GraphQL, el API Explorer proporciona una sección de Variables en la que se puede agregar un objeto JSON. Las claves de nivel superior del objeto JSON están disponibles como variables que tienen nombres denotados por un signo de dólar ($KEY_NAME). Esto permite una experiencia de desarrollo mucho más agradable al escribir y probar consultas, mutaciones y suscripciones dinámicas.
Mutación GraphQL
Sección titulada «Mutación GraphQL»query MyQuery1 ($domain: String) { students( filter: { email: { contains: $domain } } ) { items { id firstName email } }}Variables
Sección titulada «Variables»{ "domain": "example.com"}
Declarando Variables
Sección titulada «Declarando Variables»Algunas entradas dinámicas pueden necesitar ser agregadas cuando envía una solicitud a su servidor GraphQL, mientras mantiene el documento de operación igual. Estas son las variables de su operación. Las variables deben ser argumentos tipados que se declaran en la operación GraphQL. Debido a que GraphQL es tipado estáticamente, se puede validar si está pasando las variables correctas.
Los siguientes dos ejemplos funcionarían juntos para consultar una lista de usuarios con estado “Activo” y cuyos nombres comiencen con “M”.
Mutación GraphQL
Sección titulada «Mutación GraphQL»query MyQuery1($name_start: String, $status: Boolean) { students( filter: { firstName: { starts_with: $name_start }, isActive: { equals: $status } } ) { items { id firstName email } }}Variables
Sección titulada «Variables»{ "name_start": "M", "status": true}
Declarando Variables Tipadas
Sección titulada «Declarando Variables Tipadas»Las variables no se limitan a ser valores de entrada únicos. Pueden ser objetos complejos con cualquier tipo declarado en un espacio de trabajo dado - nativo o personalizado. Esto permite que cosas como filtros completos, ordenamientos y muchos otros se pasen dinámicamente como variables.
Mutación GraphQL
Sección titulada «Mutación GraphQL»query MyQuery ( $filter: StudentsFilter $first: Int $orderBy: StudentsOrderBy) { students( filter: $filter first: $first orderBy: $orderBy ) { count items { id firstName lastName age } }}Variables
Sección titulada «Variables»{ "filter": { "email": { "contains": "example" }, "firstName": { "starts_with": "M" } }, "orderBy": { "lastName": "ASC"}, "first": 2}