Ir al contenido

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.

query MyQuery1 ($domain: String) {
students(
filter: {
email: {
contains: $domain
}
}
) {
items {
id
firstName
email
}
}
}
{
"domain": "example.com"
}

alt text

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”.

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
}

alt text

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.

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
}

alt text