Puoi generare bundle di librerie client che consentono alle applicazioni di accedere alla tua API utilizzando lo strumento a riga di comando Endpoints Frameworks. Quando generi una libreria client, lo strumento a riga di comando Endpoints Frameworks genera automaticamente un documento di rilevamento che descrive l'interfaccia della tua API.
Per ottenere lo strumento a riga di comando Endpoints Frameworks, scarica
endpoints-framework-tools
dal Maven Central Repository.
Dopo aver estratto i contenuti del file ZIP, lo strumento si trova nella directory endpoints-framework-tools-2.2.1/bin/
.
Generazione di un bundle di librerie client da un'API
Puoi utilizzare lo strumento a riga di comando Endpoints Frameworks per generare i seguenti tipi di bundle client:
Maven: questo bundle include un file
pom.xml
con le dipendenze dei framework di endpoint e della libreria client dell'API di Google. Il filereadme.html
fornisce informazioni dettagliate su cosa aggiungere al filepom.xml
per diversi tipi di applicazioni client e su come creare una libreria client per la tua API utilizzando Maven.Gradle: questo bundle include un file
build.gradle
con le dipendenze dei framework Endpoints e della libreria client delle API di Google. Il filereadme.html
fornisce informazioni dettagliate su cosa aggiungere al filereadme.html
per diversi tipi di applicazioni client e su come creare una libreria client per la tua API utilizzando Gradle.build.gradle
Bundle client predefinito: questo bundle contiene tutte le librerie delle dipendenze e il file
source.jar
generato, ovvero la libreria Java che utilizzi nel client per chiamare l'API. Questo bundle fornisce al tuo client tutte le funzionalità della libreria client delle API di Google, incluso OAuth. Il filereadme.html
elenca i file.jar
richiesti per diversi tipi di applicazioni client e altri dettagli per l'utilizzo della libreria client.
Se utilizzi la libreria client con un'app per Android, ti consigliamo di utilizzare un bundle client Gradle.
Sintassi della riga di comando
Prima di utilizzare lo strumento a riga di comando Endpoints Frameworks, devi compilare il progetto di backend perché questo strumento richiede file binari compilati. Se non vuoi utilizzare il valore predefinito (--war="./war"
), puoi fornire facoltativamente l'opzione --war=
che rimanda alla directory di output del target di compilazione contenente la directory WEB-INF
e le classi Java compilate.
La sintassi di base è la seguente:
/path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \ get-client-lib OPTIONS CLASS_NAME
dove:
OPTIONS
, se specificato, è costituito da uno o più elementi mostrati nella tabella Opzioni.CLASS_NAME
è il nome di classe completo della tua API.
Ad esempio:
/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
dove target/echo-1.0-SNAPSHOT
è il percorso relativo o assoluto della directory di compilazione di destinazione contenente WEB-INF
e le classi di backend compilate.
Opzioni
Puoi utilizzare le seguenti opzioni:
Nome opzione | Descrizione | Esempio |
---|---|---|
build-system |
Consente di specificare il tipo di bundle del client da produrre. Specifica gradle per un bundle client Gradle per Android, maven per un bundle client Maven o default (oppure ometti semplicemente questa opzione) per un bundle che contiene solo le librerie delle dipendenze e il file jar di origine. |
--build-system=gradle -bs gradle |
war |
Imposta il percorso della directory di destinazione della compilazione WEB-INF contenente appengine-web.xml e altri metadati.Valore predefinito: ./war . |
--war=target/echo-1.0-SNAPSHOT -w target/echo-1.0-SNAPSHOT |
output |
Imposta la directory in cui viene scritto l'output. Valore predefinito: la directory da cui viene richiamato lo strumento. |
--output=/mydir -o /mydir |
Piattaforme client supportate
Nel bundle del client prodotto dallo strumento a riga di comando Endpoints Frameworks sono supportate le seguenti piattaforme:
- Java 7 e versioni successive:
- Android 1.6 e versioni successive.
- App Engine.