Cloud Endpoints Frameworks ofrece funciones de gestión de APIs comparables a las que proporciona el proxy de servicios extensible (ESP) para Cloud Endpoints. Endpoints Frameworks incluye una pasarela de API integrada que intercepta todas las solicitudes y realiza las comprobaciones necesarias, como la autenticación, antes de reenviar la solicitud al backend de la API. Cuando el backend responde, Endpoints Frameworks recoge y registra la telemetría. Puedes ver las métricas de tu API en la página Endpoints > Services (Endpoints > Servicios) de laGoogle Cloud consola.
Las funciones de gestión de APIs disponibles en Endpoints Frameworks incluyen las siguientes:
Para que Endpoints gestione tu API, debes desplegar un documento de OpenAPI que describa tu API con la versión 2.0 de la especificación de OpenAPI. En esta página se describe cómo generar e implementar un documento de OpenAPI que permita a Endpoints gestionar tu API.
Si no añades la gestión de APIs, tu API seguirá respondiendo a las solicitudes, pero no aparecerá en la página Endpoints > Services de la consolaGoogle Cloud , y no podrás usar las funciones que ofrece Endpoints, como el registro, la monitorización y la configuración de cuotas.
Para añadir gestión de APIs a tu API, sigue estos pasos:
Configura tu archivo
pom.xml
de Maven o tu archivobuild.gradle
de Gradle como se describe en Configurar los archivos de compilación.Asegúrate de definir el ID de proyecto en los archivos de compilación. Google Cloud
Maven
Busca
<endpoints.project.id>
y sustituyeYOUR_PROJECT_ID
por el Google Cloud ID de tu proyecto. Por ejemplo:<endpoints.project.id>example-project-12345</endpoints.project.id>
Gradle
-
Busca
def projectId
y sustituyeYOUR_PROJECT_ID
por el ID de tu proyecto Google Cloud . Por ejemplo:def projectId = 'example-project-12345'
-
Asegúrate de que el archivo
build.gradle
contenga la tareareplaceProjectId
, que define el ID del proyecto en los archivosappengine-web.xml
yweb.xml
.
-
Busca
En el archivo
web.xml
del proyecto de la API, añade la configuración del filtro de servlet de gestión de APIs:Modifica la configuración de compilación de tu proyecto de API:
Maven
-
Añade las dependencias de gestión de APIs:
-
Incluye el complemento que puedes usar para generar bibliotecas de cliente y el documento de OpenAPI,
openapi.json
:
Gradle
-
Añade las dependencias de gestión de APIs:
-
Declara la dependencia externa para que el complemento se obtenga de Maven Central:
-
Usa el complemento de Gradle de Endpoints Frameworks del lado del servidor, que genera el documento OpenAPI:
-
Configura el nombre de tu servicio de Endpoints:
-
Después de modificar las dependencias, limpia el proyecto y compila la API:
Maven
mvn clean mvn package
Gradle
gradle clean gradle build
Genera el documento OpenAPI,
openapi.json
:Maven
mvn endpoints-framework:openApiDocs
Gradle
gradle endpointsOpenApiDocs
Despliega el documento OpenAPI:
gcloud endpoints services deploy openapi.json
La primera vez que despliegues
openapi.json
, se creará un servicio de Endpoints con el nombreYOUR_PROJECT_ID.appspot.com
. Si se completa correctamente, se mostrará una línea similar a la siguiente con el ID de configuración del servicio y el nombre del servicio:Service Configuration 2017-02-13r0 uploaded for service example-project-12345.appspot.com
En el ejemplo anterior,
2017-02-13r0
es el ID de configuración del servicio. El ID de configuración del servicio consta de una marca de fecha seguida de un número de revisión. Si vuelves a implementaropenapi.json
, el número de revisión se incrementa en el ID de configuración del servicio.Si necesitas volver a mostrar el ID de configuración del servicio, ejecuta el siguiente comando, pero sustituye
YOUR_PROJECT_ID
por el ID del proyecto Google Cloud :gcloud endpoints configs list --service=YOUR_PROJECT_ID.appspot.com
Puedes crear tu propio documento OpenAPI e implementarlo en lugar de usar uno generado. Solo tienes que sustituir
openapi.json
por la ruta de tu documento de OpenAPI. Para obtener más información sobre cómo escribir un documento de OpenAPI, consulta la información general sobre OpenAPI.Edita el archivo
appengine-web.xml
para definir el valor de una variable de entorno:Sustituye
${endpoints.project.id}
por el ID de tu proyecto. Google Cloud Por ejemplo:<env-var name="ENDPOINTS_SERVICE_NAME" value="example-project-12345.appspot.com" />
Vuelve a implementar tu aplicación.
Maven
mvn appengine:deploy
Gradle
gradle appengineDeploy
Prueba tu API haciendo algunas solicitudes.
Para ver tus métricas de API, abre la página Endpoints > Services en la Google Cloud consola de tu proyecto
: