דלגו לתוכן

משתנים

כדי להימנע מקידוד קשיח של כל הערכים בעת עבודה עם GraphQL, API Explorer מספק סעיף משתנים שבו ניתן להוסיף אובייקט JSON. המפתחות ברמה העליונה של אובייקט JSON זמינים כמשתנים עם שמות המצוינים בסימן דולר ($KEY_NAME). זה מאפשר חוויית פיתוח נעימה יותר בעת כתיבת ובדיקת שאילתות, מוטציות ומנויים דינמיים.

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

alt text

ייתכן שתצטרך להוסיף כמה קלטים דינמיים בעת שליחת בקשה לשרת GraphQL שלך, בעוד שמסמך הפעולה נשאר זהה. אלה הם משתני הפעולה שלך. משתנים חייבים להיות פרמטרים מוגדרי סוג שמוצהרים בפעולת GraphQL. מכיוון ש-GraphQL מוגדר סוג באופן סטטי, ניתן לאמת אם אתה מעביר את המשתנים הנכונים.

שתי הדוגמאות הבאות יעבדו יחד כדי לשאול את רשימת המשתמשים עם סטטוס “פעיל” וששמם מתחיל ב-”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

הצהרה על משתנים מוגדרי סוג

Section titled “הצהרה על משתנים מוגדרי סוג”

משתנים אינם מוגבלים להיות ערכי קלט בודדים. הם יכולים להיות אובייקטים מורכבים מכל סוג שמוצהר במרחב עבודה מסוים — מקורי או מותאם אישית. זה מאפשר להעביר דברים כמו מסננים מלאים, מיון ועוד הרבה דינמית כמשתנים.

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