En esta página, se describe cómo configurar tu entorno de desarrollo a fin de compilar y, luego, implementar tu API de backend con Cloud Endpoints Frameworks para el entorno estándar de App Engine. En esta página, se usa la muestra de código de la versión 2.0 de Endpoints Frameworks a fin de explicar el software básico y los componentes necesarios para comenzar.
Se recomienda usar endpoints-skeleton-archetype
o hello-endpoints-archetype
, como se describe en Usa Apache Maven y el complemento de App Engine (basado en la CLI de Google Cloud) para crear un proyecto nuevo de Endpoints Frameworks versión 2.0.
Para comprender mejor los pasos necesarios a fin de implementar una API de muestra con Endpoints Frameworks, consulta el instructivo Comienza a usar Endpoints Frameworks en App Engine.
Antes de comenzar
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.
- Toma nota del ID del proyecto de Google Cloud, ya que lo necesitarás más tarde.
Instala y configura el software necesario
- Si no tienes Java 8 instalado, descarga el Java Development Kit (JDK) del sitio de Oracle y, luego, instálalo.
- Instala Maven o Gradle:
Maven
- Descargar la versión 3.3.9 o superior de Apache Maven
- Instala y configura Maven para tu entorno de desarrollo local.
Gradle
- Descarga y, luego, inicializa la CLI de Google Cloud.
- Ejecuta los siguientes comandos:
- Asegúrate de que la CLI de
gcloud
esté autorizada para acceder a tus datos y servicios en Google Cloud:gcloud auth login
- Usa las credenciales predeterminadas de la aplicación:
gcloud auth application-default login
- Instala el componente
app-engine-java
del SDK de Google Cloud:gcloud components install app-engine-java
- Actualiza a la última versión del SDK de Google Cloud y todos los componentes:
gcloud components update
- Asegúrate de que la CLI de
- Crea una aplicación de App Engine:
-
Configura el proyecto predeterminado como el ID de tu proyecto de Google Cloud:
gcloud config set project YOUR_PROJECT_ID
Reemplaza
YOUR_PROJECT_ID
por el ID del proyecto de Google Cloud. Si tienes otros proyectos de Google Cloud y quieres usargcloud
para administrarlos, consulta Administra la configuración de la CLI degcloud
. - Selecciona la región en la que deseas crear tu aplicación de App Engine. Consulta Ubicaciones de App Engine para obtener una lista de regiones.
- Crear una aplicación de App Engine
Reemplaza
YOUR_PROJECT_ID
por el ID de tu proyecto de Google Cloud yYOUR_REGION
por la región en la que quieres crear tu aplicación de App Engine.gcloud app create \ --project=YOUR_PROJECT_ID \ --region=YOUR_REGION
-
Configura el proyecto predeterminado como el ID de tu proyecto de Google Cloud:
Obtén la muestra de la estructura de Endpoints Frameworks
El esqueleto de muestra de Endpoints Frameworks versión 2.0 contiene las secuencias de comandos de compilación necesarias para Maven y Gradle. También contiene los archivos necesarios para comenzar a crear tu primera API.
Clona el repositorio de muestra en tu máquina local:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
Cambia al directorio que contiene la muestra de esqueleto de Endpoints Frameworks:
cd java-docs-samples/appengine-java8/endpoints-v2-skeleton/
La muestra tiene la siguiente estructura de directorios:
MyApi.java
contiene una clase vacía que puedes usar para comenzar a escribir tu API. Consulta el ejemplo de eco para obtener un código de muestra que te ayudará a comenzar.web.xml
es un archivo estándar que se usa para configurar un servlet.appengine-web.xml
define la información necesaria para implementar la API en el entorno estándar de App Engine mediante Java 8.pom.xml
contiene información de proyectos y configuración que usa Maven para compilar el proyecto y, luego, implementar la API en App Engine.build.gradle
contiene información de proyectos y configuración que usa Gradle para compilar el proyecto e implementar la API en App Engine.
Configura los archivos de compilación
En esta sección, se describen los archivos pom.xml
y build.gradle
de Maven que se incluyen en el código de muestra. Los archivos de compilación están listos para que puedas comenzar a crear tu API; solo debes ingresar tu ID del proyecto de Google Cloud a fin de que se pueda usar en el nombre de host.
Acerca de la configuración mínima
En esta sección, se describe la configuración mínima necesaria en el archivo de compilación.
Maven
Dependencias mínimas
A continuación, se muestran las dependencias mínimas requeridas en tu pom.xml
para comenzar:
- La dependencia
endpoints-framework
contiene las clases necesarias para crear tu API. - Necesitas las <atrack-type="tasks" l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href=&https.
- Se requiere el paquete estándar
javax.servlet
para compilar un servlet. - Se requiere el paquete estándar
javax.inject
para admitir la inyección de dependencias.
Cómo aplicar complementos
Se aplican los siguientes complementos para habilitarlos:
maven-war-plugin
extiende el complementojava
para agregar compatibilidad con una aplicación web.- Se requiere
appengine-maven-plugin
para ejecutar la API en App Engine. endpoints-framework-maven-plugin
proporciona tareas y configuraciones para compilar proyectos de Endpoints Frameworks.
Gradle
Dependencias de complementos
A continuación, se muestran los complementos necesarios para compilar tu API:
- El complemento de Gradle para Endpoints Frameworks se usa a fin de generar un documento de OpenAPI y bibliotecas de clientes.
- Necesitas el complemento de Gradle para App Engine a fin de implementar el proyecto en App Engine.
Cómo aplicar complementos
Se aplican los siguientes complementos para habilitarlos en tu secuencia de comandos de compilación de Gradle:
- El complemento
java
agrega pasos de compilación y compilación específicos de Java a tu proyecto. - El complemento
war
extiende el complementojava
para agregar compatibilidad con una aplicación web. - El complemento
endpoints-framework-server
proporciona compatibilidad del lado del servidor con el complemento de Gradle para Endpoints Frameworks. - Se requiere el complemento
appengine
para ejecutar la API en App Engine.
Dependencias del proyecto
El proyecto usa las siguientes dependencias:
- La dependencia
endpoints-framework
contiene las clases necesarias para crear tu API. - Se necesita el SDK de API de App Engine Standard (
appengine-api-sdk
) para implementar tu proyecto en el entorno estándar de App Engine. - Se requiere el paquete estándar
javax.servlet
para compilar un servlet. - Se requiere el paquete estándar
javax.inject
para admitir la inyección de dependencias.
Define el nombre de host para tu servicio
Endpoints Frameworks usa nombres compatibles con DNS para identificar de forma única los servicios. Debido a que se garantiza que los ID del proyecto de Google Cloud son únicos a nivel global, debes usar tu ID del proyecto de Google Cloud como parte del nombre del servicio de la API.
Debes agregar el ID de tu proyecto de Google Cloud a los archivos de compilación a fin de configurar el nombre de host para tu servicio. El nombre del host debe tener el siguiente formato:
YOUR_PROJECT_ID.appspot.com
Cuando implementas la API en App Engine, se crea una entrada DNS con un nombre con el formato YOUR_PROJECT_ID.appspot.com
de forma automática. El nombre de host es el nombre del servicio de Cloud Endpoints y el nombre de dominio que usas para enviar solicitudes a tu API.
Maven
En el campo hostname
, reemplaza YOUR_PROJECT_ID
por tu ID del proyecto de Google Cloud.
Gradle
Configura la variable projectID
con el ID de tu proyecto de Google Cloud. Por ejemplo: def projectId = 'example-project-12345'
Configura el servlet de Endpoints
El servlet de Endpoints controla las solicitudes entrantes y las reenvía al servicio de backend que se ejecuta en App Engine. El servlet de Endpoints es necesario para que API lo administre a tu API.
Para obtener más información sobre web.xml
, consulta El descriptor de implementación: web.xml
.
Configura tu implementación de App Engine
El archivo appengine-web.xml
se usa para definir la configuración del entorno estándar de App Engine cuando se implementa la API. Consulta la referencia de appengine-web.xml
para obtener más información.
Próximos pasos
- Escribe y anota tu código de la API de backend.
- Obtén más información sobre las anotaciones.
- Agrega la administración de la API.
- Implementa y prueba tu API.
- Obtén más información sobre los tipos de parámetros y resultados admitidos.