שאלות נפוצות
ציר זמן
צ'אט
פרספקטיבה

GraphQL

שפת שאילתות מוויקיפדיה, האנציקלופדיה החופשית

GraphQL
Remove ads

GraphQL היא שפת שאילתות קוד פתוח ושפת מניפולציה של נתונים עבור ממשקי תכנות בזמן ריצה.[1] GraphQL פותחה באופן פנימי על ידי פייסבוק בשנת 2012 לפני שפורסמה בפומבי בשנת 2015.[2] ב-7 בנובמבר 2018 הועבר פרויקט GraphQL מפייסבוק ל"קרן GraphQL" שהוקמה, בהנחיית קרן לינוקס ללא כוונת רווח.[3][4] מאז 2012, גרף עליית אחוזי האימוץ של GraphQL בקהיליית המפתחים נעקב בקפידה על ידי לי ביירון, יוצר GraphQL.[5] מטרתו של ביירון היא להפוך את GraphQL ל"נוכחת בכל מקום" בפלטפורמות אינטרנט.

עובדות מהירות מפתח, מחזור חיים ...
Remove ads

GraphQL מספקת גישה לפיתוח ממשקי API ברשת, והיא הושוותה מול REST וארכיטקטורות שירות אינטרנט אחרות. זה מאפשר ללקוחות להגדיר את מבנה הנתונים הנדרש, ואותו מבנה הנתונים מוחזר מהשרת, ולכן מונע להחזיר כמויות גדולות מדי של נתונים, אך יש לכך השלכות על מידת היעילות של שמירת תוצאות שאילתות בזיכרון מטמון של שרתים ברשת. הגמישות והעושר של שפת השאילתות מוסיפים גם מורכבות שאולי לא משתלמת עבור ממשקי API פשוטים.[6][7][8] הוא מורכב ממערכת סוגים (types), שפת שאילתות וסמנטיקה לביצוע, אימות סטטי, והתבוננות פנימית בסוג.

GraphQL תומך בקריאה, כתיבה, עריכה, ו"הירשמות כמנוי (subscribing) לשינויים בנתונים (עדכונים בזמן אמת - לרוב מיושמים באמצעות WebHooks).[9] שרתי GraphQL זמינים במספר שפות, כולל Haskell, [10]JavaScript,[11] Perl,[12] Python,[13] Ruby, Java, C++, [14] C #, Scala, Go, Rust, Elixir,[15] Erlang, PHP, R ו-Clojure.

Remove ads

דוגמה

בקשת POST :

{
  orders {
    id
    productsList {
      product {
        name
        price
      }
    quantity
    }
  totalAmount
  }
}

תשובה:

{
  "data": {
    "orders": [
      {
        "id": 1,
        "productsList": [
          {
            "product": {
              "name": "orange",
              "price": 1.5
            },
            "quantity": 100
          }
        ],
        "totalAmount": 150
      }
    ]
  }
}
Remove ads

ראו גם

הערות שוליים

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads