תכנון API

GraphQL מול REST: מה כל אחד פותר בתכנון API, ומה המחיר האדריכלי שלו
GraphQL ו-REST אינם שתי דרכים שונות “לעשות אותו דבר”. הם פותרים בעיות תכנון שונות, ולכן גם יוצרים כשלים שונים. מי שבוחר ביניהם רק לפי נוחות בצד הלקוח, או לפי מה…
נושא · 4 מאמרים
API הוא חוזה. ברגע שלקוח אחד מתחיל להשתמש בו, כל שינוי בשמות, במבנה התשובה או בקודי השגיאה הופך להחלטה שיש לה מחיר — ולפעמים המחיר משולם על ידי מישהו שאינכם מכירים. לכן תכנון API דומה יותר לתכנון ממשק של מחלקה ציבורית מאשר לכתיבת נקודות קצה: קודם מחליטים מה מבטיחים, ורק אחר כך כותבים את הקוד שמקיים את ההבטחה.
תכנון REST API עוסק במשאבים, בשמות, בקודי סטטוס ובדפדוף, ניהול גרסאות API משווה בין הדרכים לשנות חוזה בלי לשבור לקוחות, אידמפוטנטיות מסבירה למה בקשה כפולה לא צריכה לחייב פעמיים, וGraphQL מול REST בודק מה כל גישה פותרת ומה היא עולה.
תכנון API

GraphQL ו-REST אינם שתי דרכים שונות “לעשות אותו דבר”. הם פותרים בעיות תכנון שונות, ולכן גם יוצרים כשלים שונים. מי שבוחר ביניהם רק לפי נוחות בצד הלקוח, או לפי מה…
תכנון API

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

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

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