Salta ai contenuti

Variabili

Per evitare di codificare tutti i valori quando si lavora con GraphQL, l’API Explorer fornisce una sezione Variabili in cui è possibile aggiungere un oggetto JSON. Le chiavi di livello superiore dell’oggetto JSON sono rese disponibili come variabili che hanno nomi indicati da un segno di dollaro ($KEY_NAME). Ciò consente un’esperienza di sviluppo molto più piacevole durante la scrittura e il test di query, mutazioni e sottoscrizioni dinamiche.

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

alt text

Alcuni input dinamici potrebbero dover essere aggiunti quando invii una richiesta al tuo server GraphQL, mentre il documento dell’operazione rimane lo stesso. Queste sono le variabili della tua operazione. Le variabili devono essere argomenti tipizzati che vengono dichiarati sull’operazione GraphQL. Poiché GraphQL è tipizzato staticamente, è possibile convalidare se stai passando le variabili corrette.

I seguenti due esempi funzionerebbero insieme per interrogare un elenco di utenti con stato “Attivo” e i cui nomi iniziano 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

Le variabili non sono limitate ad essere singoli valori di input. Possono essere oggetti complessi con qualsiasi tipo dichiarato in un determinato spazio di lavoro - nativo o personalizzato. Ciò consente di passare dinamicamente cose come interi filtri, ordinamenti e molti altri come variabili.

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