Cloud Endpoints Frameworks fournit des fonctionnalités de gestion des API comparables à celles fournies par le proxy Extensible Service Proxy (ESP) pour Cloud Endpoints. Endpoints Frameworks comprend une passerelle API intégrée qui intercepte toutes les requêtes et effectue les vérifications nécessaires (telles que l'authentification) avant de transmettre la requête au backend de l'API. Lorsque le backend répond, Endpoints Frameworks rassemble et consigne les données de télémétrie. Vous pouvez afficher les métriques de votre API sur la page Endpoints > Services de la consoleGoogle Cloud .
Les fonctionnalités de gestion des API disponibles dans Endpoints Frameworks comprennent :
Pour que votre API soit gérée par Endpoints, vous devez déployer un document OpenAPI décrivant votre API à l'aide de la version 2.0 de la spécification OpenAPI. Cette page explique comment générer et déployer un document OpenAPI permettant à Endpoints de gérer votre API.
Si vous n'ajoutez pas la gestion des API, votre API diffuse toujours les requêtes, mais elle ne figure pas sur la page Endpoints > Services de la consoleGoogle Cloud . De plus, les fonctionnalités fournies par Endpoints, telles que la journalisation, la surveillance et la définition de quotas, ne sont pas disponibles.
Pour ajouter la gestion des API à votre API, procédez comme suit :
- Configurez votre fichier - pom.xmlMaven ou- build.gradleGradle comme décrit dans la section Configurer les fichiers de build.
- Assurez-vous de définir l'ID du projet Google Cloud dans les fichiers de build. - Maven- Recherchez - <endpoints.project.id>, puis remplacez- YOUR_PROJECT_IDpar l'ID de votre projet Google Cloud . Exemple :- <endpoints.project.id>example-project-12345</endpoints.project.id>- Gradle- 
        Recherchez def projectId, puis remplacezYOUR_PROJECT_IDpar l'ID de votre projet Google Cloud . Exemple :def projectId = 'example-project-12345'
- Assurez-vous que votre fichier build.gradlecontient la tâchereplaceProjectId, qui définit l'ID du projet dans les fichiersappengine-web.xmletweb.xml.
 
- 
        Recherchez 
- Dans le fichier - web.xmlde votre projet d'API, ajoutez la configuration du filtre de servlet de gestion des API :
- Modifiez la configuration de compilation de votre projet API : - Maven- 
      Ajoutez les dépendances de gestion des API : 
- 
      Incluez le plug-in que vous pouvez utiliser pour générer des bibliothèques clientes et le document OpenAPI openapi.json:
 - Gradle- 
    Ajoutez les dépendances de gestion des API : 
- 
         Déclarez la dépendance externe afin que le plug-in soit récupéré depuis Maven Central : 
- 
       Utilisez le plug-in Endpoints Framework Gradle côté serveur, qui génère le document OpenAPI : 
- 
      Configurez le nom du service Endpoints : 
 
- 
      
- Après avoir modifié les dépendances, nettoyez le projet, puis créez votre API : - Maven- mvn clean mvn package - Gradle- gradle clean gradle build 
- Générer le document OpenAPI, - openapi.json:- Maven- mvn endpoints-framework:openApiDocs- Gradle- gradle endpointsOpenApiDocs
- Déployez le document OpenAPI : - gcloud endpoints services deploy openapi.json- Après le premier déploiement du service - openapi.json, un service Endpoints est créé sous le nom- YOUR_PROJECT_ID.appspot.com. Si l'opération réussit, une ligne semblable à la suivante affiche l'ID de configuration du service et le nom du service :- Service Configuration 2017-02-13r0 uploaded for service example-project-12345.appspot.com - Dans l'exemple précédent, - 2017-02-13r0est l'ID de configuration du service. L'ID de configuration du service se compose d'un horodatage, suivi d'un numéro de révision. Si vous déployez à nouveau- openapi.json, le numéro de révision est incrémenté dans l'ID de configuration du service.- Si vous devez afficher à nouveau l'ID de configuration du service, exécutez la commande suivante, mais remplacez - YOUR_PROJECT_IDpar l'ID de votre projet Google Cloud :- gcloud endpoints configs list --service=YOUR_PROJECT_ID.appspot.com - Vous pouvez créer votre propre document OpenAPI et le déployer plutôt que d'utiliser un document généré. Il vous suffit pour cela de remplacer l'élément - openapi.jsonci-dessus par le chemin d'accès à votre document OpenAPI. Pour en savoir plus sur la rédaction d'un document OpenAPI, consultez la page Présentation d'OpenAPI.
- Modifiez votre fichier - appengine-web.xmlpour définir la valeur d'une variable d'environnement :- Remplacez - ${endpoints.project.id}par l'ID de votre projet Google Cloud . Exemple :- <env-var name="ENDPOINTS_SERVICE_NAME" value="example-project-12345.appspot.com" />
- Redéployez votre application. - Maven- mvn appengine:deploy - Gradle- gradle appengineDeploy 
- Envoyez quelques requêtes pour tester votre API. 
- Pour afficher les métriques de l'API, ouvrez la page Endpoints > Services dans la console Google Cloud pour votre projet :