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

סקירה של שירותי אינטרנט מותאמים אישית
נבחן חמש דוגמאות לשירותי אינטרנט מותאמים אישית:
GET עם רשימת SObject סטנדרטית: שליפת נתונים באמצעות רשימת SObject סטנדרטית.
עטיפה עם תגובת JSON: שיפור בקשת ה-GET בעטיפה שלה בתגובת JSON.
הוספת פרמטרים: הוספת פרמטרים לבקשת ה-GET לשליפת נתונים ממוקדת יותר.
שימוש ב-POST להוספה: מימוש בקשת POST להוספת נתונים.
החזרת הודעת שגיאה: טיפול בהודעות שגיאה והחזרתן כראוי.
מימוש שירותי אינטרנט מותאמים אישית
דוגמה 1: GET עם רשימת SObject סטנדרטית
בדוגמה הזו אנחנו מגדירים משאב REST עם URI מותאם אישית ומציינים את פועל ה-HTTP (GET). המחלקה צריכה להיות מוצהרת כ-global, ואנחנו מחזירים רשימה של חשבונות סטנדרטיים בשאילתה פשוטה.

דוגמה 2: עטיפה עם תגובת JSON
כדי לשלוט בנתונים שנשלחים חזרה ללקוח, אנחנו משתמשים באובייקט תגובה. במקום להחזיר רשימה של SObjects, אנחנו מחזירים רשימה של אובייקטי תגובה מותאמים אישית, שמספקים ייצוג קליל של לקוח עם המזהה (ID) והשם בלבד.

דוגמה 3: הוספת פרמטרים
פרמטרים חיוניים כשאתם צריכים נתונים של לקוח מסוים. בקריאת RestContext.params אפשר לשלוף את מזהה הלקוח ולהשתמש בו בפסוקית WHERE של SOQL כדי לסנן את הנתונים.

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

דוגמה 5: החזרת הודעת שגיאה
הדוגמה הזו דומה לדוגמה 4, אבל כוללת טיפול בשגיאות. במקרה של חריגה (exception), השגיאה נתפסת, נוספת לרשימה, וקוד הסטטוס מוגדר ל-500 (או לכל מספר שתעדיפו).

סיכום
בעזרת הדוגמאות האלה הצגנו את אבני הבניין הבסיסיות ליצירת שירותי אינטרנט מותאמים אישית ב-Apex ב-Salesforce. התחלנו בבקשת GET פשוטה, והעלינו בהדרגה את המורכבות עם פרמטרים, בקשות POST וטיפול בשגיאות.
הישארו איתנו
תודה שקראתם, ואני מצפה לשתף אתכם בקרוב בעוד הרפתקאות עמוסות ידע! הישארו איתנו כאן ב-www.SteveTechArc.com ובערוץ ה-YouTube @SteveTechArc (opens in a new tab). הירשמו והעמיקו את ההבנה שלכם ב-Salesforce ובאופן שבו אפשר לשלב אותה עם מערכות אחרות.
עוזרים לשנות את העולם בשיתוף מידע על אינטגרציה עם עמיתים ארכיטקטים ועם מי שנמצאים במסע שלהם לארכיטקטורה!
STA 1.8