בדף הזה מוסבר איך להוסיף קישוטים לקוד כדי ליצור API שמיושם בכמה מחלקות. אם הטמעתם את ה-API באמצעות מחלקה אחת בלבד, תוכלו להיעזר במאמר בנושא יצירת ה-API. מידע מפורט על כל ה-decorators הזמינים מופיע במאמר בנושא Decorators.
מחליפים את api_collection בכל שם שרוצים, כל עוד משתמשים באותו שם לכל מחלקה ב-API. לפני כל כיתה ב-API צריך להוסיף את ה-decorator כמו שמוצג בקטע הקוד הקודם.
מידע על הארגומנט resource_name
הארגומנט האופציונלי resource_name של api_class הוא שם המחלקה שרוצים לחשוף ב-API. זה השם שמופיע ב-API Explorer, לפני כל שיטה שנחשפת במחלקה.
מידע על הארגומנט path
הארגומנט האופציונלי path של api_class מציין את המיקום היחסי שבו מופיעות שיטות המחלקה בכתובת ה-URL. בדוגמה הקודמת, לא צוין path
עבור המחלקה Shelves, ולכן אפשר לגשת ל-methods שלה דרך
הרמה הבסיסית (root), /_ah/api/library/v1. לדוגמה, אפשר לגשת לשיטה list מהנתיב /_ah/api/library/v1/list.
אם מציינים ארגומנט path עבור מחלקה, הנתיב שצוין מצורף לשורש. בדוגמה שלמעלה, הארגומנט path books מצוין עבור המחלקה Books, ולכן אפשר לגשת ל-methods שלו דרך /_ah/api/library/v1/books. לדוגמה, אפשר לגשת לשיטה best_sellers_list מהנתיב /_ah/api/library/v1/books/best_sellers_list.
הארגומנט path הוא אופציונלי לשיטות. אם לא מציינים path, המערכת משתמשת בשם השיטה. כל הנתיבים שצוינו לשיטות מצורפים לנתיב המחלקה. בדוגמה שלמעלה, הערך bookmark מצוין כ-path של המתודה get_bookmark. אפשר לגשת ל-method get_bookmark מהנתיב /_ah/api/library/v1/books/bookmark.
אפשר לשנות את הארגומנט של המחלקה path על ידי ציון ארגומנט של method path
שמתחיל ב-/. לדוגמה, נניח שהנתיב של השיטה get_bookmark במחלקה Books הוא:
@endpoints.method(Request, Response, path='/bookmark') def get_bookmark(self, request): return Response()
הלוכסן המוביל משנה את הנתיב של השיטה get_bookmark ל-/_ah/api/library/v1/bookmark.
הצגת API עם כמה מחלקות
בקוד endpoints.api_server שיוצר את שרת ה-API, מציינים את השם שהקציתם לאוסף api_class. לדוגמה, אם שם האוסף הוא api_collection, יוצרים את השרת באופן הבא: