Vous pouvez générer des groupes de bibliothèques clientes permettant aux applications d'accéder à votre API à l'aide de l'outil de ligne de commande Endpoints Frameworks. Lorsque vous générez une bibliothèque cliente, l'outil de ligne de commande Endpoints Frameworks génère automatiquement un document de découverte décrivant la surface de votre API.
L'outil de ligne de commande Endpoints Frameworks, endpointscfg.py
, est disponible dans la bibliothèque Endpoints Frameworks. Pour en savoir plus sur l'installation de la bibliothèque Endpoints Frameworks à l'aide de pip
, consultez la section Installer la bibliothèque Endpoints Frameworks.
Les commandes suivantes supposent que vous avez installé la bibliothèque Endpoints Frameworks dans un répertoire appelé lib
. En outre, les instructions indiquées supposent que vous avez créé votre API backend. Consultez le tutoriel Endpoint Frameworks en Python pour obtenir un exemple d'utilisation de l'outil de ligne de commande Endpoints Frameworks sur un exemple de code.
Générer un groupe de bibliothèques clientes à partir d'une API
Vous pouvez utiliser l'outil de ligne de commande Endpoints Frameworks pour générer les types de groupes de clients suivants :
Maven : ce groupe comprend un fichier
pom.xml
avec les dépendances d'Endpoints Frameworks et de la bibliothèque cliente des API Google. Le fichierreadme.html
fournit des informations détaillées sur ce que vous devez ajouter à votre fichierpom.xml
pour différents types d'applications clientes et explique comment créer une bibliothèque cliente pour votre API à l'aide de Maven.Gradle : ce groupe comprend un fichier
build.gradle
avec les dépendances d'Endpoints Frameworks et de la bibliothèque cliente des API Google. Le fichierreadme.html
fournit des informations détaillées sur ce que vous devez ajouter à votre fichierbuild.gradle
pour différents types d'applications clientes et explique comment créer une bibliothèque cliente pour votre API à l'aide de Gradle.Groupe de clients par défaut : ce groupe contient toutes les bibliothèques de dépendances. Il comporte également le fichier
source.jar
généré, qui est la bibliothèque Java que vous utilisez dans votre client pour appeler votre API. Ce groupe fournit à votre client toutes les fonctionnalités de la bibliothèque cliente des API Google, y compris OAuth. Le fichierreadme.html
répertorie les fichiers.jar
requis pour différents types d'applications clientes, ainsi que d'autres informations concernant l'utilisation de la bibliothèque cliente.
Si vous utilisez la bibliothèque cliente avec une application Android, nous vous recommandons d'opter pour un groupe de clients Gradle.
Générer la bibliothèque cliente
Pour générer la bibliothèque cliente :
Remplacez le répertoire par celui qui contient le fichier
app.yaml
et les classes de service de l'API. L'option--application
permet également de spécifier un autre emplacement pour le répertoire de l'application.Appelez l'outil de ligne de commande Endpoints Frameworks comme suit :
lib/endpoints/endpointscfg.py get_client_lib java -bs gradle main.EchoApi
où
main
est la classe contenant votre API, etEchoApi
est le nom de cette API.Patientez le temps que l'outil génère la bibliothèque cliente. Si l'opération aboutit, l'outil affiche un message semblable à celui-ci :
API client library written to ./echo-v1.zip
Ajoutez le fichier JAR de la bibliothèque cliente à l'application Android.
Répétez les étapes ci-dessus chaque fois que vous modifiez le code de l'API.
Le groupe de bibliothèques clientes est écrit dans le répertoire en cours, sauf si vous spécifiez un autre répertoire de sortie à l'aide de l'option output
.
Syntaxe de la ligne de commande
La syntaxe de base est la suivante :
/path-to/your-app/lib/endpointscfg.py get_client_lib TARGET_LANG OPTIONS CLASS_NAME
où :
TARGET_LANG
spécifie le type de groupe de clients que vous souhaitez créer. Actuellement, vous devez indiquer la valeurjava
(pour les clients Java tels qu'Android).- Le paramètre
OPTIONS
, s'il est spécifié, correspond à un ou plusieurs éléments de la table d'options. CLASS_NAME
est le nom de classe complet de votre API.
Options
Vous pouvez utiliser les options suivantes :
Nom de l'option | Description | Exemple |
---|---|---|
application |
Par défaut, l'outil effectue la génération à partir de l'API backend dans le répertoire en cours. Si vous souhaitez employer un autre répertoire, spécifiez le chemin d'accès au répertoire contenant le fichier app.yaml et les classes de service qui mettent en œuvre l'API. |
--application /my_path/my_api_dir |
build-system |
Permet de spécifier le type de groupe de clients à produire. Spécifiez gradle pour un groupe de clients Gradle pour Android, maven pour un groupe de clients Maven, ou default (ou omettez simplement cette option) pour un groupe ne contenant que les bibliothèques de dépendances et le fichier JAR source. |
--build-system=gradle -bs gradle |
hostname |
Spécifie la valeur rootURL du document de découverte.Cette option remplace la valeur par défaut dérivée de l'entrée application dans le projet d'API backend app.yaml ([YOUR_APP_ID].appspot.com ) et le hostname défini dans le décorateur de votre API.Vous pouvez utiliser cette option pour indiquer le nom d'hôte localhost en tant que "rootURL" à des fins de tests en local. |
--hostname localhost |
format |
Ne spécifiez pas cette valeur, car la seule valeur acceptée est la valeur par défaut, rest pour REST. |
Pas nécessaire, utilisez la valeur par défaut. |
output |
Définit le répertoire dans lequel la sortie est écrite. Il s'agit par défaut du répertoire depuis lequel l'outil est appelé. |
--output /mydir -o /mydir |
Plates-formes clientes compatibles
Les plates-formes compatibles avec le groupe de clients produit par l'outil de ligne de commande Endpoints Frameworks sont les suivantes :
- Java 7 et versions ultérieures
- Android 1.6 ou version ultérieure.
- App Engine
Générer un document OpenAPI à partir d'une API
L'outil endpointscfg.py
fournit une commande permettant de générer un document OpenAPI à partir d'un backend d'API. La syntaxe de la commande est la suivante :
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.
Par exemple, si l'on utilise l'exemple echo
:
$ lib/endpoints/endpointscfg.py get_openapi_spec --hostname=echo-example.appspot.com main.EchoApi
OpenAPI spec written to ./echov1openapi.json