ממשק API הוא שירות של קריאה לפרוצדורה מרוחקת (RPC) שמספק שיטות מרוחקות שנגישות ללקוחות חיצוניים. כל API של קצה עורפי מורכב ממחלקה של שירות RPC שהיא מחלקת משנה של המחלקה ProtoRPC remote.Service, ומשיטה אחת או יותר. כשמגדירים שיטה, צריך להגדיר גם מחלקות Message לבקשות שנכנסות לשיטה הזו ולתשובות שמוחזרות ממנה.
מחלקת Message מבצעת פונקציית מיפוי כדי שאפשר יהיה לחלץ את הנתונים הנכנסים ולספק אותם לשיטת השירות בצורה תקינה, או לספק אותם בצורה תקינה לתגובה היוצאת.
אם לבקשה יש ארגומנטים של נתיב או מחרוזת שאילתה, צריך להשתמש במחלקה ResourceContainer למיפוי, במקום במחלקה פשוטה Message.
לבסוף, צריך להוסיף קישוטים למחלקת שירות ה-API ולשיטות המחלקה, וצריך להגדיר מחלקות Message לבקשות ולתשובות.
יצירת ה-API
בקטע הבא מוסבר איך להוסיף לקוד קישוטים כדי ליצור API שמוטמע במחלקה אחת. אם יש לכם API עם כמה מחלקות, כדאי לעיין במאמר בנושא יצירת API שמיושם עם כמה מחלקות. מידע מפורט על כל ה-decorators הזמינים מופיע במאמר בנושא Decorators.
כדי ליצור API:
מוסיפים את יבוא החובה הבא:
מגדירים מחלקת משנה של
remote.Serviceומקשטים אותה באמצעות@endpoints.api:שימו לב: שם ה-API ושם מחלקת השירות לא צריכים להיות זהים. מספר הגרסה מתייחס לגרסת ה-API. הערך שתזינו יהפוך לחלק מהנתיב בכתובת ה-URL של ה-API. מידע נוסף על גרסאות זמין במאמר בנושא ניהול גרסאות של API.
קובעים אילו נתונים השיטה מצפה לקבל מהבקשה ואילו נתונים מוחזרים, ויוצרים מחלקת
Messageלגוף הבקשה ולגוף התגובה:שימו לב: אם לא מופיעים ארגומנטים בגוף הבקשה, כמו בבקשה
GET, אפשר להשמיט את המחלקהMessageמהבקשה ולהשתמש רק בערךmessage_types.VoidMessage.אם הבקשה כוללת ארגומנטים של נתיב או מחרוזת שאילתה, צריך להחליף את המחלקה
Messageבמחלקה המתאימהResourceContainer.מידע מלא על יצירה ושימוש במחלקות
Messageמופיע במסמכי התיעוד של התשובה והבקשה של Google Protocol RPC.Messageיוצרים את השיטה עבור ה-API ומקשטים אותה באמצעות
@endpoints.method:אם הבקשה מכילה נתונים של נתיב או מחרוזת שאילתה, צריך להחליף את סוג הודעת הבקשה ב
ResourceContainerמתאים.מוסיפים את הקוד להצגת ה-API, כמו שמתואר במאמר בנושא יצירת שרת אינטרנט.