Auf dieser Seite wird beschrieben, wie Sie Ihre Entwicklungsumgebung zum Erstellen und Bereitstellen Ihrer Back-End-API mit Cloud Endpoints Frameworks für die App Engine-Standardumgebung einrichten. Auf dieser Seite wird das Grundgerüst von Endpoints Frameworks Version 2.0 ein Codebeispiel, in dem die grundlegende Software und die Komponenten erklärt werden, die Sie für den Einstieg benötigen.
Ein neues Endpoints Frameworks-Projekt der Version 2.0 können Sie mit den Archetypen endpoints-skeleton-archetype
oder hello-endpoints-archetype
erstellen, die unter Apache Maven und das auf der Google Cloud CLI basierende App Engine-Plug-in verwenden beschrieben werden.
Weitere Informationen zu den erforderlichen Schritten zum Bereitstellen einer Beispiel-API mit Endpoints Frameworks finden Sie in der Anleitung Erste Schritte mit Endpoints Frameworks in App Engine.
Vorbereitung
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure 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.
-
Make sure that billing is enabled for your Google Cloud project.
- Notieren Sie sich die Google Cloud-Projekt-ID, da sie später benötigt wird.
Erforderliche Software installieren und konfigurieren
- Wenn Sie Java 8 nicht installiert haben, laden Sie das Java Development Kit (JDK) von der Oracle-Website herunter und installieren Sie es.
- Installieren Sie entweder Maven oder Gradle:
Maven
- Laden Sie Apache Maven Version 3.3.9 oder höher herunter.
- Installieren und konfigurieren Sie Maven für Ihre lokale Entwicklungsumgebung.
Gradle
- Laden Sie die Google Cloud CLI herunter und initialisieren Sie sie.
- Führen Sie die folgenden Befehle aus:
- Prüfen Sie, ob die gcloud CLI für den Zugriff auf Ihre Daten und Dienste in Google Cloud berechtigt ist:
gcloud auth login
- Verwenden Sie die Standardanmeldedaten für Anwendungen:
gcloud auth application-default login
- Installieren Sie die Google Cloud SDK-Komponente
app-engine-java
:gcloud components install app-engine-java
- Aktualisieren Sie das Google Cloud SDK und alle Komponenten auf die neueste Version:
gcloud components update
- Prüfen Sie, ob die gcloud CLI für den Zugriff auf Ihre Daten und Dienste in Google Cloud berechtigt ist:
- Erstellen Sie eine App Engine-Anwendung:
- Legen Sie für das Standardprojekt Ihre Google Cloud-Projekt-ID fest:
gcloud config set project YOUR_PROJECT_ID
Ersetzen Sie
YOUR_PROJECT_ID
durch Ihre Google Cloud-Projekt-ID. Wenn Sie weitere Google Cloud-Projekte haben undgcloud
verwenden, um sie zu verwalten, siehe Verwaltung gcloud CLI-Konfigurationen. - Wählen Sie die Region aus, in der Sie Ihre App Engine-Anwendung erstellen möchten. Eine Liste der Regionen finden Sie unter App Engine-Standorte.
- Erstellen Sie eine App Engine-Anwendung.
Ersetzen Sie
YOUR_PROJECT_ID
durch Ihre Google Cloud-Projekt-ID undYOUR_REGION
durch die Region, in der die App Engine-Anwendung erstellt werden soll.gcloud app create \ --project=YOUR_PROJECT_ID \ --region=YOUR_REGION
- Legen Sie für das Standardprojekt Ihre Google Cloud-Projekt-ID fest:
Basisbeispiel für Endpoints Frameworks abrufen
Das Basisbeispiel für Endpoints Frameworks Version 2.0 enthält die erforderlichen Build-Skripts für Maven und Gradle. Es enthält auch die erforderlichen Dateien, um eine erste API zu erstellen.
Klonen Sie das Beispiel-Repository auf Ihren lokalen Computer:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
Wechseln Sie in das Verzeichnis, das das Basisbeispiel für Endpoints Frameworks enthält:
cd java-docs-samples/appengine-java8/endpoints-v2-skeleton/
Das Beispiel hat die folgende Verzeichnisstruktur:
MyApi.java
enthält eine leere Klasse, mit der Sie anfangen können, Ihre API zu schreiben. Im Echo-Beispiel finden Sie Beispielcode, um Ihnen den Einstieg zu erleichtern.web.xml
ist eine Standarddatei, mit der ein Servlet zu verwenden.appengine-web.xml
definiert Informationen, die zum Bereitstellen der API in der App Engine-Standardumgebung mithilfe von Java 8 erforderlich sind.pom.xml
enthält Projekt- und Konfigurationsinformationen, mit denen Maven das Projekt erstellt und die API in App Engine bereitstellt.build.gradle
enthält Projekt- und Konfigurationsinformationen, die von Gradle zum Erstellen des und stellen Sie die API in App Engine bereit.
Build-Dateien konfigurieren
In diesem Abschnitt werden die im Beispielcode enthaltene Maven-Datei pom.xml
und die Gradle-Datei build.gradle
beschrieben. Abgesehen von der Eingabe Ihrer Google Cloud-Projekt-ID, damit diese im Hostnamen verwendet werden kann, sind die Build-Dateien gebrauchsfertig zum Erstellen Ihrer API.
Minimale Konfiguration
In diesem Abschnitt wird die Mindestkonfiguration beschrieben, die in Ihrer Build-Datei erforderlich ist.
Maven
Minimale Abhängigkeiten
Hier sehen Sie die Mindestabhängigkeiten, die in Ihrer pom.xml
-Datei zum Einstieg erforderlich sind:
- Die Abhängigkeit
endpoints-framework
enthält die erforderlichen Klassen zum Erstellen Ihrer API. - Sie benötigen das App Engine Standard API SDK (
appengine-api-sdk
), um Ihr Projekt in der App Engine-Standardumgebung bereitzustellen. - Das Standardpaket
javax.servlet
ist zum Erstellen eines Servlets erforderlich. - Das Standardpaket
javax.inject
ist zur Unterstützung der Abhängigkeitsinjektion erforderlich.
Plug-ins anwenden
Die folgenden Plug-ins werden angewendet, um sie zu aktivieren:
- Das
maven-war-plugin
erweitert dasjava
-Plug-in um Unterstützung beim Assemblieren einer Webanwendung. - Das
appengine-maven-plugin
wird zum Ausführen der API in App Engine benötigt. - Das
endpoints-framework-maven-plugin
stellt Aufgaben und Konfigurationen zum Erstellen von Endpoints Frameworks-Projekten bereit.
Gradle
Plug-in-Abhängigkeiten
Im Folgenden sind die Plug-ins aufgeführt, die zum Erstellen Ihrer API erforderlich sind:
- Das Gradle-Plug-in für Endpoints Frameworks dient zum Generieren eines OpenAPI-Dokuments und von Clientbibliotheken.
- Sie benötigen das Gradle-Plug-in für App Engine, um Ihr Projekt für App Engine bereitzustellen.
Plug-ins anwenden
Die folgenden Plug-ins werden angewendet, um sie in Ihrem Gradle-Build-Skript zu aktivieren:
- Das
java
-Plug-in erweitert Ihr Projekt um Java-spezifische Kompilierungs- und Build-Schritte. - Das
war
-Plug-in erweitert dasjava
-Plug-in um Unterstützung beim Assemblieren einer Webanwendung. - Das
endpoints-framework-server
-Plug-in bietet serverseitige Unterstützung für das Endpoints Frameworks-Gradle-Plug-in. - Das
appengine
-Plug-in ist erforderlich, um die API in App Engine auszuführen.
Projektabhängigkeiten
Die folgenden Abhängigkeiten werden vom Projekt verwendet:
- Die Abhängigkeit
endpoints-framework
enthält die erforderlichen Klassen zum Erstellen Ihrer API. - Das App Engine Standard API SDK (
appengine-api-sdk
) wird benötigt, um Ihr Projekt in der App Engine-Standardumgebung bereitzustellen. - Das Standardpaket
javax.servlet
ist zum Erstellen eines Servlets erforderlich. - Das Standardpaket
javax.inject
ist zur Unterstützung der Abhängigkeitsinjektion erforderlich.
Hostname für Ihren Dienst definieren
Endpoints Frameworks verwendet für die eindeutige Identifizierung von Diensten DNS-kompatible Namen. Da Google Cloud-Projekt-IDs in jedem Fall global nur einmal vorkommen, sollten Sie Ihre Google Cloud-Projekt-ID als Teil des Dienstnamens für Ihre API verwenden.
Sie müssen Ihre Google Cloud-Projekt-ID in die Build-Dateien aufnehmen, um den Hostnamen für Ihren Dienst zu konfigurieren. Der Hostname muss folgendes Format haben:
YOUR_PROJECT_ID.appspot.com
Wenn Sie die API in App Engine bereitstellen, wird automatisch ein DNS-Eintrag mit einem Namen im Format YOUR_PROJECT_ID.appspot.com
erstellt. Der Hostname ist sowohl der Name des Cloud Endpoints-Dienstes als auch der Domainname, den Sie zum Senden von Anfragen an Ihre API verwenden.
Maven
Ersetzen Sie im Feld hostname
den Text YOUR_PROJECT_ID
durch Ihre Google Cloud-Projekt-ID.
Gradle
Legen Sie die Variable projectID
auf Ihre Google Cloud-Projekt-ID fest. Zum Beispiel def projectId = 'example-project-12345'
.
Endpoints-Servlet konfigurieren
Das Endpoints-Servlet verarbeitet eingehende Anfragen und leitet sie an den Back-End-Dienst weiter, der auf App Engine ausgeführt wird. Das Endpoints-Servlet ist erforderlich, damit Ihre API von Endpoints verwaltet werden kann.
Weitere Informationen zur Datei web.xml
finden Sie unter Bereitstellungsdeskriptor: web.xml
.
App Engine-Bereitstellung konfigurieren
Die Datei appengine-web.xml
wird beim Bereitstellen der API dazu verwendet, die Konfiguration der App Engine-Standardumgebung zu definieren. Weitere Informationen finden Sie unter
Referenz zu appengine-web.xml
.
Nächste Schritte
- Back-End-API-Code schreiben und annotieren
- Weitere Informationen zu Annotationen
- API-Verwaltung hinzufügen
- API bereitstellen und testen
- Weitere Informationen zu unterstützten Parametern und Rückgabetypen