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.
Lo strumento a riga di comando Endpoints Frameworksendpointscfg.py è disponibile nella libreria Endpoints Frameworks. Per informazioni sull'installazione della libreria Endpoints Frameworks utilizzando pip, consulta Installare la libreria Endpoints Frameworks.
Tieni presente che i comandi seguenti presuppongono che tu abbia installato la libreria Endpoints Frameworks in una directory denominata lib. Inoltre,
le istruzioni presuppongono che tu abbia creato l'API di backend. Consulta il
tutorial su Endpoints Frameworks per Python
per un esempio di utilizzo dello strumento a riga di comando Endpoints Frameworks su
codice di esempio.
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.xmlcon le dipendenze dei framework di endpoint e della libreria client dell'API di Google. Il file- readme.htmlfornisce informazioni dettagliate su cosa aggiungere al file- readme.htmlper diversi tipi di applicazioni client e su come creare una libreria client per la tua API utilizzando Maven.- pom.xml
- Gradle: questo bundle include un file - build.gradlecon le dipendenze dei framework Endpoints e della libreria client delle API di Google. Il file- readme.htmlfornisce informazioni dettagliate su cosa aggiungere al file- readme.htmlper 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.jargenerato, 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 file- readme.htmlelenca i file- .jarrichiesti 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.
Generazione della libreria client
Per generare la libreria client:
- Cambia directory nella directory contenente il file - app.yamle le classi di servizi API della tua API. In alternativa, utilizza l'opzione- --applicationper specificare un'altra posizione della directory dell'applicazione.
- Richiama lo strumento a riga di comando Endpoints Frameworks in modo simile al seguente: - lib/endpoints/endpointscfg.py get_client_lib java -bs gradle main.EchoApi- dove - mainè la classe contenente l'API e- EchoApiè il nome dell'API.
- Attendi che lo strumento generi la libreria client. Se l'operazione riesce, lo strumento visualizza un messaggio simile al seguente: - API client library written to ./echo-v1.zip
- Aggiungi il file JAR della libreria client alla tua app per Android. 
- Ripeti i passaggi precedenti ogni volta che modifichi il codice API. 
Il bundle della libreria client viene scritto nella directory corrente, a meno che non specifichi un'altra directory di output utilizzando l'opzione output.
Sintassi della riga di comando
La sintassi di base è la seguente:
/path-to/your-app/lib/endpointscfg.py get_client_lib TARGET_LANG OPTIONS CLASS_NAME
dove:
- TARGET_LANGspecifica il tipo di bundle client che vuoi creare. Al momento, devi fornire il valore- java(per i client Java come Android).
- OPTIONS, se specificato, è costituito da uno o più elementi mostrati nella tabella Opzioni
- CLASS_NAMEè il nome di classe completo della tua API.
Opzioni
Puoi utilizzare le seguenti opzioni:
| Nome opzione | Descrizione | Esempio | 
|---|---|---|
| application | Per impostazione predefinita, lo strumento genera dall'API di backend nella directory corrente. Se vuoi generare utilizzando una directory diversa, specifica il percorso della directory contenente i file app.yamle le classi di servizio che implementano l'API. | --application /my_path/my_api_dir | 
| build-system | Consente di specificare il tipo di bundle del client da produrre. Specifica gradleper un bundle client Gradle per Android,mavenper un bundle client Maven odefault(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 | 
| hostname | Specifica il documento di rilevamento rootURL.Questa opzione sostituisce il valore predefinito derivato dalla voce applicationall'interno del progetto API di backendapp.yaml([YOUR_APP_ID].appspot.com) e dalhostnamedefinito nel decoratore per l'API.Un utilizzo di questa opzione è fornire l'hostname localhostcome rootURL per i test locali. | --hostname localhost | 
| format | Non specificarlo perché l'unico valore supportato è il valore predefinito restper REST. | Non necessario, utilizza il valore predefinito. | 
| 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.
Generazione di un documento OpenAPI da un'API
Lo strumento endpointscfg.py fornisce un comando per generare un documento OpenAPI da un backend API. La sintassi del comando è:
lib/endpoints/endpointscfg.py get_openapi_spec
    [-h]
    [-a APPLICATION]
    [--hostname HOSTNAME]
    [-o OUTPUT]
    service [service ...]
positional arguments:
  service               Fully qualified service class name.
optional arguments:
  -h, --help            Show this help message and exit.
  -a APPLICATION, --application APPLICATION
                        The path to the Python App Engine application.
  --hostname HOSTNAME   Default application hostname, if none is specified for the API service.
  -o OUTPUT, --output OUTPUT
                        The directory to store output files.
  --x-google-api-name   Add the 'x-google-api-name' field to the generated OpenAPI document.
Ad esempio, utilizzando l'esempio echo:
$ lib/endpoints/endpointscfg.py get_openapi_spec --hostname=echo-example.appspot.com main.EchoApi
OpenAPI spec written to ./echov1openapi.json