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. Diese Seite verwendet das Basisbeispiel für Endpoints Frameworks Version 2.0, um die grundlegende Software und Komponenten zu erläutern, 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:
- Achten Sie darauf, dass die gcloud CLI zum 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
- Achten Sie darauf, dass die gcloud CLI zum 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 mitgcloud
verwalten möchten, lesen Sie gcloud CLI-Konfigurationen verwalten. - 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, die zum Konfigurieren eines Servlets verwendet wird.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, mit denen Gradle das Projekt erstellt und die API in App Engine bereitstellt.
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 in der appengine-web.xml
-Referenz.
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