קוראים כמוך עוזרים לתמוך ב-MUO. כאשר אתה מבצע רכישה באמצעות קישורים באתר שלנו, אנו עשויים להרוויח עמלת שותף. קרא עוד.

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

ל-GraphQL שני סוגי פעולות: שאילתות ומוטציות. למרות הדמיון ביניהם, הם משרתים מטרות שונות למדי.

הבדלים בין שאילתות GraphQL ומוטציות

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

התחביר של שאילתות ומוטציות

התחביר הבסיסי של שאילתת GraphQL הוא כדלקמן:

query getProduct($id: ID!) {
מוצר (מזהה: $id) {
שֵׁם
מחיר
}
}

הנה מה שקוד זה מייצג:

  • query היא מילת המפתח המזהה את הבקשה כשאילתה.
  • getProduct הוא שם הפעולה
  • $id הוא המשתנה
  • תְעוּדַת זֶהוּת! הוא סוג המשתנה.

אם אינך זקוק למשתנים, השמיט אותם והגדר את השאילתה כך:

שאילתה getProducts {
מוצרים {
שֵׁם
מחיר
}
}

במצבים מסוימים, אתה יכול להשמיט את מילת המפתח והשם של השאילתה, לכתוב שאילתת GraphQL כך:

instagram viewer
מוצרים {
שֵׁם
מחיר
}

בעוד שהפורמט הזה עובד, השימוש במילת המפתח של השאילתה טוב יותר לקריאות.

תחביר המוטציות דומה לשאילתות מלבד השימוש במילת המפתח מוטציה.

מוטציה AddNewProduct ($name: String!, $price: Number!) { 
addProduct (שם: $name, מחיר: $price) {
שֵׁם
מחיר
}
}

מצבי ביצוע שונים

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

שימושים מנוגדים עבור שאילתות ומוטציות

עליך להשתמש בשאילתות עבור פעולות READ בלבד. לדוגמה, השתמש בשאילתה בעת שליפת מוצרים מנקודת קצה של API.

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

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

הכנס להרגל להשתמש בשאילתות ובמוטציות כראוי

GraphQL היא שפת שאילתות רבת עוצמה המאפשרת לך לבקש רק את הנתונים הדרושים לך. ישנן שתי פעולות שאתה יכול לבצע ב-GraphQL: שאילתות ומוטציות.

פעולות אלו שונות בתחביר, בביצוע ובשימושים המיועדים להן. עליך להשתמש בשאילתות עבור פעולות READ ומוטציות עבור פעולות CREATE, UPDATE ו-DELETE.