תורגם בבינה מלאכותית. הקהילה עוד לא בדקה את התרגום. לקריאה באנגלית

בלוג · 18 בספטמבר 2023 · Steve Simpson · אינטגרציה

שירות אינטרנט ב-Apex: אבני בניין לקוסמי הרשת

מבוא:

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

תרשים: חמש דוגמאות לשירותי אינטרנט מותאמים אישית ב-Apex שנקראים מ-Postman: ‏GET שמחזיר רשימת רשומות, GET עם אובייקט תגובה, GET עם פרמטר, POST, ו-POST עם שגיאה

סקירה של שירותי אינטרנט מותאמים אישית

נבחן חמש דוגמאות לשירותי אינטרנט מותאמים אישית:

‏GET עם רשימת SObject סטנדרטית: שליפת נתונים באמצעות רשימת SObject סטנדרטית.

עטיפה עם תגובת JSON: שיפור בקשת ה-GET בעטיפה שלה בתגובת JSON.

הוספת פרמטרים: הוספת פרמטרים לבקשת ה-GET לשליפת נתונים ממוקדת יותר.

שימוש ב-POST להוספה: מימוש בקשת POST להוספת נתונים.

החזרת הודעת שגיאה: טיפול בהודעות שגיאה והחזרתן כראוי.

מימוש שירותי אינטרנט מותאמים אישית

דוגמה 1: ‏GET עם רשימת SObject סטנדרטית

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

קוד Apex: משאב REST עם מתודת GET ששולפת חשבונות (Accounts) ומחזירה את הרשימה בסריאליזציה ברירת המחדל

דוגמה 2: עטיפה עם תגובת JSON

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

קוד Apex: מתודת GET שבונה אובייקט תגובה שמכיל רשימת לקוחות

דוגמה 3: הוספת פרמטרים

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

קוד Apex: מתודת GET שקוראת את הפרמטר customerid מהבקשה ומחזירה את הלקוח הזה באובייקט תגובה

דוגמה 4: שימוש ב-POST להוספה

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

קוד Apex: מתודת POST שמפענחת את גוף הבקשה, מוסיפה חשבון (Account) ומחזירה סטטוס הצלחה או שגיאה

דוגמה 5: החזרת הודעת שגיאה

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

קוד Apex: מתודת ה-POST עם טיפול בשגיאות, שמחזירה את הודעת השגיאה וקוד סטטוס HTTP 500

סיכום

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

הישארו איתנו

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

עוזרים לשנות את העולם בשיתוף מידע על אינטגרציה עם עמיתים ארכיטקטים ועם מי שנמצאים במסע שלהם לארכיטקטורה!

תמלול בסיוע בינה מלאכותית

STA 1.8