בדף הזה מוסבר איך להגדיר את סביבת הפיתוח כדי ליצור ולפרוס את ה-API של ה-Backend באמצעות Cloud Endpoints Frameworks בסביבה הרגילה של App Engine. בדף הזה נעשה שימוש בדוגמת קוד של Endpoints Frameworks version 2.0 skeleton כדי להסביר את התוכנה והרכיבים הבסיסיים שצריך כדי להתחיל.
אפשר להשתמש ב-endpoints-skeleton-archetype או ב-hello-endpoints-archetype שמתוארים במאמר שימוש ב-Apache Maven ובתוסף App Engine (מבוסס Google Cloud CLI) כדי ליצור פרויקט חדש של Endpoints Frameworks גרסה 2.0.
כדי להבין טוב יותר את השלבים הנדרשים לפריסת API לדוגמה באמצעות Endpoints Frameworks, אפשר לעיין במדריך תחילת העבודה עם Endpoints Frameworks ב-App Engine.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- חשוב לרשום את Google Cloud מזהה הפרויקט כי תצטרכו אותו בהמשך.
התקנה והגדרה של תוכנה נדרשת
- אם Java 8 לא מותקן, מורידים את Java Development Kit (JDK) מ האתר של Oracle ומתקינים אותו.
- מתקינים את Maven או את Gradle:
Maven
- הורדת Apache Maven בגרסה 3.3.9 ואילך
- מתקינים ומגדירים את Maven בסביבת הפיתוח המקומית.
Gradle
- מורידים ומפעילים את Google Cloud CLI.
- מריצים את הפקודות הבאות:
- מוודאים של-CLI של gcloud יש הרשאה לגשת לנתונים ולשירותים שלכם ב- Google Cloud:
gcloud auth login
- שימוש ב-Application Default Credentials:
gcloud auth application-default login
- מתקינים את רכיב
app-engine-javaשל Google Cloud SDK:gcloud components install app-engine-java
- מעדכנים לגרסה האחרונה של ה-SDK של Google Cloud וכל הרכיבים:
gcloud components update
- מוודאים של-CLI של gcloud יש הרשאה לגשת לנתונים ולשירותים שלכם ב- Google Cloud:
- יוצרים אפליקציית App Engine:
-
מגדירים את פרויקט ברירת המחדל למזהה הפרויקט שלכם: Google Cloud
gcloud config set project YOUR_PROJECT_ID
מחליפים את
YOUR_PROJECT_IDבמזהה הפרויקט ב- Google Cloud. אם יש לכם פרויקטים אחרים של Google Cloud ואתם רוצים להשתמש ב-gcloudכדי לנהל אותם, תוכלו לקרוא את המאמר בנושא ניהול ההגדרות האישיות של ה-CLI של gcloud. - בוחרים את האזור שבו רוצים ליצור את אפליקציית App Engine. רשימת האזורים זמינה במאמר מיקומי App Engine.
- יוצרים אפליקציית App Engine.
מחליפים את
YOUR_PROJECT_IDבמזהה הפרויקט ב- Google Cloud ואתYOUR_REGIONבאזור שבו רוצים ליצור את האפליקציה ב-App Engine.gcloud app create \ --project=YOUR_PROJECT_ID \ --region=YOUR_REGION
-
מגדירים את פרויקט ברירת המחדל למזהה הפרויקט שלכם: Google Cloud
קבלת דוגמה לשלד של Endpoints Frameworks
הדוגמה של שלד גרסה 2.0 של Endpoints Frameworks מכילה את סקריפטים ה-build הדרושים ל-Maven ול-Gradle. הוא גם מכיל את הקבצים הנדרשים כדי להתחיל ליצור את ה-API הראשון.
משכפלים את המאגר לדוגמה ומעבירים אותו למכונה המקומית:
git clone https://github.com/GoogleCloudPlatform/java-docs-samplesעוברים לספרייה שמכילה את הדוגמה של מסגרות Endpoints:
cd java-docs-samples/appengine-java8/endpoints-v2-skeleton/לדוגמה יש את מבנה הספריות הבא:

MyApi.javaמכיל מחלקה ריקה שאפשר להשתמש בה כדי להתחיל לכתוב את ה-API. כדי להתחיל, אפשר להיעזר בקוד לדוגמה שמופיע בדוגמה של echo.
appengine-web.xmlמגדיר מידע שנדרש לפריסת ה-API בסביבה הרגילה של App Engine באמצעות Java 8.
pom.xmlכולל מידע על הפרויקט וההגדרות שמשמש את Maven כדי לבנות את הפרויקט ולפרוס את ה-API ב-App Engine.
build.gradleכולל מידע על הפרויקט וההגדרות שמשמש את Gradle כדי לבנות את הפרויקט ולפרוס את ה-API ב-App Engine.
הגדרת קובצי ה-build
בקטע הזה מתוארים קובצי Maven pom.xml ו-Gradle build.gradle שכלולים בקוד לדוגמה. חוץ מהזנת מזהה הפרויקט Google Cloud כדי שאפשר יהיה להשתמש בו בשם המארח, קובצי ה-build מוכנים להתחלת יצירת ה-API.
מידע על ההגדרה המינימלית
בקטע הזה מוסבר על ההגדרה המינימלית שנדרשת בקובץ ה-build.
Maven
תלות מינימלית
אלה התלויות המינימליות שנדרשות ב-pom.xml כדי להתחיל:
- התלות
endpoints-frameworkמכילה את המחלקות הדרושות ליצירת ה-API. - כדי לפרוס את הפרויקט בסביבה הסטנדרטית של App Engine, צריך את App Engine Standard API
SDK (
appengine-api-sdk). - כדי ליצור servlet, צריך את חבילת
javax.servletהרגילה. - חבילת
javax.injectהסטנדרטית נדרשת כדי לתמוך ב הזרקת תלות.
החלת פלאגינים
הפלאגינים הבאים מופעלים כדי לאפשר את השימוש בהם:
- הפלאגין
maven-war-pluginמרחיב את הפלאגיןjavaכדי להוסיף תמיכה בהרכבת אפליקציית אינטרנט. - ה-
appengine-maven-pluginנדרש כדי להריץ את ה-API ב-App Engine. -
endpoints-framework-maven-pluginמספק משימות והגדרות ליצירת פרויקטים של Endpoints Frameworks.
Gradle
יחסי תלות של פלאגינים
בהמשך מוצגים הפלאגינים שנדרשים כדי ליצור את ה-API:
- תוסף Gradle של Endpoints Frameworks משמש ליצירת מסמך OpenAPI וליצירת ספריות לקוח.
- כדי לפרוס את הפרויקט ב-App Engine, צריך את App Engine Gradle plugin.
החלת פלאגינים
התוספים הבאים מוחלים כדי להפעיל אותם בסקריפט ה-build של Gradle:
- הפלאגין
javaמוסיף לפרויקט שלכם שלבים ספציפיים של קומפילציה ובנייה ב-Java. - הפלאגין
warמרחיב את הפלאגיןjavaכדי להוסיף תמיכה בהרכבת אפליקציית אינטרנט. - הפלאגין
endpoints-framework-serverמספק תמיכה בצד השרת לפלאגין Endpoints Frameworks Gradle. - כדי להריץ את ה-API ב-App Engine, צריך את הפלאגין
appengine.
תלות של הפרויקט במשאבים
הפרויקט משתמש בתלות הבאה:
- התלות
endpoints-frameworkמכילה את המחלקות הדרושות ליצירת ה-API. - נדרש App Engine Standard API SDK (
appengine-api-sdk) כדי לפרוס את הפרויקט בסביבה הסטנדרטית של App Engine. - כדי ליצור
servlet, צריך את חבילת
javax.servletהרגילה. - חבילת
javax.injectהסטנדרטית נדרשת כדי לתמוך ב הזרקת תלות.
הגדרת שם המארח של השירות
Endpoints Frameworks משתמש בשמות שתואמים ל-DNS כדי לזהות שירותים באופן ייחודי. מזהי פרויקטים הם ייחודיים באופן גלובלי, ולכן מומלץ להשתמש במזהה הפרויקט כחלק משם השירות של ה-API. Google Cloud Google Cloud
כדי להגדיר את שם המארח של השירות, צריך להוסיף את מזהה הפרויקט לקובצי ה-build. Google Cloud שם המארח צריך להיות בפורמט הבא:
YOUR_PROJECT_ID.appspot.com
כשפורסים את ה-API ב-App Engine, נוצר באופן אוטומטי רשומה של DNS עם שם בפורמט YOUR_PROJECT_ID.appspot.com. שם המארח הוא גם השם של שירות Cloud Endpoints וגם שם הדומיין שבו אתם משתמשים כדי לשלוח בקשות ל-API.
Maven
בשדה hostname, מחליפים את YOUR_PROJECT_ID במזהה הפרויקט Google Cloud .
Gradle
מגדירים את המשתנה projectID למזהה הפרויקט ב- Google Cloud. לדוגמה:
def projectId = 'example-project-12345'
הגדרת ה-servlet של Endpoints
רכיב ה-servlet של Endpoints מטפל בבקשות נכנסות ומעביר אותן לשירות הקצה העורפי שפועל ב-App Engine. ה-servlet של Endpoints נדרש כדי שממשק ה-API שלכם ינוהל על ידי Endpoints.
מידע נוסף על web.xml זמין במאמר בנושא קובץ תיאור הפריסה: web.xml.
הגדרת הפריסה של App Engine
קובץ appengine-web.xml משמש להגדרת התצורה של סביבת App Engine Standard כשפורסים את ה-API. מידע נוסף זמין במאמר בנושא appengine-web.xml.
המאמרים הבאים
- כתיבה והוספה של הערות לקוד ה-API של ה-Backend.
- מידע נוסף על הערות
- הוספת ניהול API
- פריסה ובדיקה של ה-API.
- מידע נוסף על סוגי הפרמטרים והערכים המוחזרים הנתמכים