אתם יכולים ליצור חבילות של ספריות לקוח שמאפשרות לאפליקציות לגשת ל-API שלכם באמצעות כלי שורת הפקודה של Endpoints Frameworks. כשיוצרים ספריית לקוח, כלי שורת הפקודה של Endpoints Frameworks יוצר באופן אוטומטי מסמך Discovery שמתאר את הממשק של ה-API.
כלי שורת הפקודה של Endpoints Frameworks,endpointscfg.py זמין בספריית Endpoints Frameworks. מידע על התקנת ספריית Endpoints Frameworks באמצעות pip זמין במאמר התקנת ספריית Endpoints Frameworks.
שימו לב: הפקודות הבאות מניחות שהספרייה Endpoints Frameworks מותקנת בספרייה בשם lib. בנוסף, ההוראות מניחות שיצרתם את ה-API של ה-Backend. במדריך בנושא Endpoints Frameworks ל-Python יש דוגמה לשימוש בכלי שורת הפקודה של Endpoints Frameworks בקוד לדוגמה.
יצירת חבילה של ספריית לקוח מ-API
אתם יכולים להשתמש בכלי שורת הפקודה של Endpoints Frameworks כדי ליצור את סוגי חבילות הלקוח הבאים:
Maven: החבילה הזו כוללת קובץ
pom.xmlעם התלויות של Endpoints Frameworks ושל ספריית הלקוח של Google API. קובץreadme.htmlמספק מידע מפורט על מה שצריך להוסיף לקובץpom.xmlעבור סוגים שונים של אפליקציות לקוח, ועל האופן שבו אפשר ליצור ספריית לקוח עבור ה-API באמצעות Maven.Gradle: החבילה הזו כוללת קובץ
build.gradleעם התלויות ב-Endpoints Frameworks וב-Google API Client Library. קובץreadme.htmlמספק מידע מפורט על מה שצריך להוסיף לקובץbuild.gradleעבור סוגים שונים של אפליקציות לקוח, ועל אופן יצירת ספריית לקוח עבור ה-API באמצעות Gradle.חבילת לקוח ברירת מחדל: החבילה הזו מכילה את כל ספריות התלות ואת קובץ
source.jarשנוצר, שהוא ספריית Java שבה אתם משתמשים בלקוח כדי לקרוא ל-API. החבילה הזו מספקת ללקוח את כל היכולות של ספריית הלקוח של Google API, כולל OAuth. בקובץreadme.htmlמפורטים הקבצים שנדרשים לסוגים שונים של אפליקציות לקוח ופרטים נוספים לשימוש בספריית הלקוח..jar
אם אתם משתמשים בספריית הלקוח עם אפליקציית Android, מומלץ להשתמש בחבילת לקוח של Gradle.
יצירה של ספריית הלקוח
כדי ליצור את ספריית הלקוח:
עוברים לספרייה שמכילה את קובץ ה-
app.yamlשל ה-API ואת מחלקות שירות ה-API. לחלופין, אפשר להשתמש באפשרות--applicationכדי לציין מיקום אחר של ספריית האפליקציה.מפעילים את כלי שורת הפקודה של Endpoints Frameworks באופן הבא:
lib/endpoints/endpointscfg.py get_client_lib java -bs gradle main.EchoApiכאשר
mainהוא המחלקה שמכילה את ה-API ו-EchoApiהוא שם ה-API.מחכים עד שהכלי ייצור את ספריית הלקוח. אם הפעולה הצליחה, הכלי יציג הודעה דומה להודעה הבאה:
API client library written to ./echo-v1.zipמוסיפים את קובץ ה-JAR של ספריית הלקוח לאפליקציית Android.
חוזרים על השלבים הקודמים בכל פעם שמשנים את קוד ה-API.
חבילת ספריית הלקוח נכתבת לספרייה הנוכחית, אלא אם מציינים ספריית פלט אחרת באמצעות האפשרות output.
תחביר של שורת פקודה
התחביר הבסיסי הוא כזה:
/path-to/your-app/lib/endpointscfg.py get_client_lib TARGET_LANG OPTIONS CLASS_NAME
where:
-
TARGET_LANGמציין את סוג חבילת הלקוח שרוצים ליצור. בשלב הזה, צריך לספק את הערךjava(ללקוחות Java כמו Android). -
OPTIONS, אם מציינים אותו, הוא אחד או יותר פריטים שמוצגים בטבלת האפשרויות -
CLASS_NAMEהוא שם המחלקה המלא של ה-API.
אפשרויות
אפשר להשתמש באפשרויות הבאות:
| שם האפשרות | תיאור | דוגמה |
|---|---|---|
application |
כברירת מחדל, הכלי יוצר את ה-API מהקצה העורפי בספרייה הנוכחית. אם רוצים ליצור את ה-API מספרייה אחרת, צריך לציין את הנתיב לספרייה שמכילה את המחלקות app.yaml והשירות שמיישמות את ה-API. |
--application /my_path/my_api_dir |
build-system |
מאפשר לציין איזה סוג של חבילת לקוח צריך ליצור. מציינים gradle לחבילת לקוח של Gradle ל-Android, maven לחבילת לקוח של Maven או default (או פשוט משמיטים את האפשרות הזו) לחבילה שמכילה רק את ספריות התלות ואת קובץ ה-JAR של המקור. |
--build-system=gradle -bs gradle |
hostname |
מציינת את מסמך Discovery rootURL.האפשרות הזו מבטלת את ברירת המחדל שנגזרת מהערך application בתוך פרויקט ה-API של ה-Backend app.yaml ([YOUR_APP_ID].appspot.com) ומהערך hostname שמוגדר ב-decorator של ה-API.אחד השימושים באפשרות הזו הוא לספק את שם המארח localhost כ-rootURL לבדיקות מקומיות. |
--hostname localhost |
format |
אל תציינו את הערך הזה כי הערך הנתמך היחיד הוא ערך ברירת המחדל, rest עבור REST. |
לא צריך, אפשר להשתמש בברירת המחדל. |
output |
הגדרת הספרייה שבה ייכתב הפלט. ברירת מחדל: הספרייה שממנה מופעל הכלי. |
--output /mydir-o /mydir |
פלטפורמות לקוחות נתמכות
הפלטפורמות הבאות נתמכות בחבילת הלקוח שנוצרת על ידי כלי שורת הפקודה של Endpoints Frameworks:
- Java 7 ומעלה:
- Android מגרסה 1.6 ואילך.
- App Engine.
יצירת מסמך OpenAPI מ-API
הכלי endpointscfg.py מספק פקודה ליצירת מסמך OpenAPI מ-API backend. התחביר של הפקודה הוא:
lib/endpoints/endpointscfg.py get_openapi_spec
[-h]
[-a APPLICATION]
[--hostname HOSTNAME]
[-o OUTPUT]
service [service ...]
positional arguments:
service Fully qualified service class name.
optional arguments:
-h, --help Show this help message and exit.
-a APPLICATION, --application APPLICATION
The path to the Python App Engine application.
--hostname HOSTNAME Default application hostname, if none is specified for the API service.
-o OUTPUT, --output OUTPUT
The directory to store output files.
--x-google-api-name Add the 'x-google-api-name' field to the generated OpenAPI document.
לדוגמה, באמצעות הדוגמה של echo:
$ lib/endpoints/endpointscfg.py get_openapi_spec --hostname=echo-example.appspot.com main.EchoApi
OpenAPI spec written to ./echov1openapi.json