Sie können Clientbibliothek-Bundles generieren, mit denen Anwendungen über das Endpoints Frameworks-Befehlszeilentool auf Ihre API zugreifen können. Wenn Sie eine Clientbibliothek generieren, erstellt das Endpoints Frameworks-Befehlszeilentool automatisch ein Discovery-Dokument, in dem die Oberfläche Ihrer API beschrieben wird.
Laden Sie endpoints-framework-tools
aus dem Maven Central Repository herunter, um das Endpoints Frameworks-Befehlszeilentool abzurufen.
Nachdem Sie den Inhalt der ZIP-Datei extrahiert haben, befindet sich das Tool im Verzeichnis endpoints-framework-tools-2.2.1/bin/
.
Clientbibliothek-Bundle aus einer API generieren
Mit dem Endpoints Frameworks-Befehlszeilentool können Sie die folgenden Arten von Client-Bundles generieren:
Maven: Dieses Bundle enthält die Datei
pom.xml
mit den Abhängigkeiten von Endpoints Frameworks und von der Google API-Clientbibliothek. Die Dateireadme.html
enthält detaillierte Informationen darüber, was Sie je nach Art der Clientanwendung jeweils der Dateipom.xml
hinzufügen müssen und wie Sie mit Maven eine Clientbibliothek für Ihre API erstellen.Gradle: Dieses Bundle enthält die Datei
build.gradle
mit den Abhängigkeiten von Endpoints Frameworks und von der Google API-Clientbibliothek. Die Dateireadme.html
enthält detaillierte Informationen darüber, was Sie je nach Art der Clientanwendung jeweils der Dateibuild.gradle
hinzufügen müssen und wie Sie mit Gradle eine Clientbibliothek für Ihre API erstellen.Standard-Client-Bundle: Dieses Bundle enthält alle Abhängigkeitsbibliotheken und die generierte Datei
source.jar
. Dies ist die Java-Bibliothek, die Sie in Ihrem Client zum Aufrufen der API verwenden. Das Bundle bietet Ihrem Client alle Funktionen der Google API-Clientbibliothek, einschließlich OAuth. In der Dateireadme.html
sind die.jar
-Dateien aufgelistet, die für verschiedene Arten von Clientanwendungen jeweils erforderlich sind, sowie andere Details zur Verwendung der Clientbibliothek.
Wenn Sie die Clientbibliothek mit einer Android-App verwenden, empfiehlt sich ein Gradle-Client-Bundle.
Befehlszeilensyntax
Bevor Sie das Endpoints Frameworks-Befehlszeilentool verwenden, müssen Sie Ihr Back-End-Projekt erstellen, da für dieses Tool kompilierte Binärdateien erforderlich sind. Wenn Sie nicht die Standardeinstellung --war="./war"
verwenden möchten, können Sie auch die Option --war=
angeben, die auf das Build-Zielausgabeverzeichnis mit dem Verzeichnis WEB-INF
und den kompilierten Java-Klassen verweist.
Die grundlegende Syntax lautet so:
/path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \ get-client-lib OPTIONS CLASS_NAME
wobei
OPTIONS
(falls angegeben) ist mindestens ein in der Tabelle "Optionen" angezeigtes Element.CLASS_NAME
ist der vollständig qualifizierte Klassenname Ihrer API.
Beispiel:
/path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \
get-client-lib --war=target/echo-1.0-SNAPSHOT -bs gradle com.example.echo.Echo
Dabei ist target/echo-1.0-SNAPSHOT
der relative oder absolute Pfad zu dem Build-Zielverzeichnis, das WEB-INF
und die kompilierten Back-End-Klassen enthält.
Optionen
Sie haben die folgenden Möglichkeiten:
Option | Beschreibung | Beispiel |
---|---|---|
build-system |
Hiermit können Sie angeben, welcher Client-Bundle-Typ erstellt werden soll. Geben Sie für ein Gradle-Client-Bundle für Android gradle an, für ein Maven-Client-Bundle maven und für ein Bundle, das nur die Abhängigkeitsbibliotheken und die JAR-Quelldatei enthält, default (oder lassen Sie diese Option aus). |
--build-system=gradle -bs gradle |
war |
Legt den Pfad zum Build-Zielverzeichnis WEB-INF fest, das appengine-web.xml und weitere Metadaten enthält.Standardwert: ./war . |
--war=target/echo-1.0-SNAPSHOT -w target/echo-1.0-SNAPSHOT |
output |
Legt das Verzeichnis fest, in das die Ausgabe geschrieben wird. Standardmäßig wird das Verzeichnis verwendet, in dem das Tool aufgerufen wurde. |
--output=/mydir -o /mydir |
Unterstützte Clientplattformen
Die folgenden Plattformen werden in dem vom Endpoints Frameworks-Befehlszeilentool erstellten Client-Bundle unterstützt:
- Java 7 und höher:
- Android 1.6 und höher
- App Engine