En esta página, se describe cómo configurar tu entorno de desarrollo para 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 el muestra de código Esqueleto de Endpoints Frameworks versión 2.0 para explicar el software básico y los componentes necesarios para comenzar.
Puede que desees usar el endpoints-skeleton-archetype
o el hello-endpoints-archetype
que se describe en Usar Apache Maven y el complemento de App Engine (basado en Google Cloud CLI) para crear un nuevo proyecto de Endpoints Frameworks versión 2.0.
Si deseas comprender mejor los pasos necesarios para implementar una API de muestra con Endpoints Frameworks, consulta el isntructivoComienza a usar marcos de trabajo de Endpoints para Java .
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Toma nota del ID del proyecto de Google Cloud, ya que lo necesitarás más adelante.
Instala y configura el software obligatorio
- Si no tienes Java 8 instalado, descarga el Java Development Kit (JDK) desde la página de Oracle y, luego, instálalo.
- Instala Maven o Gradle:
Maven
- Descarga la versión 3.3.9 o superior de Apache Maven
- Instala y configura Maven para tu entorno de desarrollo local.
Gradle
- Descarga e inicializa Google Cloud CLI.
- Ejecuta los siguientes comandos:
- Asegúrate de que gcloud CLI 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 versión más reciente del SDK de Google Cloud y de todos los componentes:
gcloud components update
- Asegúrate de que gcloud CLI esté autorizada para acceder a tus datos y servicios en Google Cloud:
- Crea una aplicación de App Engine:
- Establece tu ID de proyecto de Google Cloud como predeterminado:
gcloud config set project YOUR_PROJECT_ID
Reemplaza
YOUR_PROJECT_ID
con tu ID del proyecto de Google Cloud. Si tienes otros proyectos de Google Cloud y quieres usargcloud
para administrarlos, consulta Cómo gcloud CLI de gcloud. - Selecciona la región en la que deseas crear tu app de App Engine. Consulta Ubicaciones de App Engine para obtener una lista de regiones.
- Crea una aplicación de App Engine.
Reemplaza
YOUR_PROJECT_ID
por tu ID del proyecto de Google Cloud yYOUR_REGION
por la región en la que deseas crear la aplicación de App Engine.gcloud app create \ --project=YOUR_PROJECT_ID \ --region=YOUR_REGION
- Establece tu ID de proyecto de Google Cloud como predeterminado:
Obtén el esqueleto de muestra 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. Además, 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 el esqueleto de muestra 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 ayude a comenzar.web.xml
es un archivo estándar que se usa para configurar un servlet.appengine-web.xml
define la información que se requiere para implementar la API en el entorno estándar de App Engine con Java 8.pom.xml
contiene la información de proyecto y configuración que usa Maven para compilar el proyecto y, luego, implementar la API en App Engine.build.gradle
contiene información de proyecto y configuración que usa Gradle para compilar el proyecto y, luego, implementar la API en App Engine.
Configura los archivos de compilación
En esta sección, se describen los archivos Maven pom.xml
y Gradle build.gradle
incluidos en el código de muestra. Los archivos de compilación están listos para que puedas comenzar a crear tu API; solo tienes que ingresar tu ID del proyecto de Google Cloud para que pueda usarse 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 tu 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 el SDK de API de App Engine Standard (
appengine-api-sdk
) para implementar tu proyecto en el entorno estándar de App Engine. - Se necesita el paquete estándar
javax.servlet
para compilar un servlet. - Se necesita el paquete estándar
javax.inject
para admitir la inyección de dependencias.
Aplica complementos
Se aplican los siguientes complementos para habilitarlos:
maven-war-plugin
extiende el complementojava
para agregar compatibilidad a fin de ensamblar una aplicación web.- El
appengine-maven-plugin
es necesario 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 Maven para Endpoints Framework se usa a fin de generar un documento de OpenAPI y bibliotecas cliente.
- Necesitas el complemento de Gradle para App Engine a fin de implementar tu proyecto en App Engine.
Aplica complementos
Los siguientes complementos se aplican para habilitarlos en tu secuencia de comandos de compilación de Gradle:
- El complemento
java
agrega pasos de compilación específicos de Java a tu proyecto. - El complemento
war
extiende el complementojava
para agregar compatibilidad a fin de ensamblar una aplicación web. - El complemento
endpoints-framework-server
proporciona compatibilidad del lado del servidor con el complemento de Gradle para Endpoints Frameworks. - El complemento
appengine
es necesario 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. - El SDK de API de App Engine Standard (
appengine-api-sdk
) es necesario para implementar tu proyecto en el entorno estándar de App Engine. - Se necesita el paquete estándar
javax.servlet
para compilar un servlet. - Se necesita 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 los servicios de forma exclusiva. Dado 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 de servicio de la API.
Debes agregar tu ID del proyecto de Google Cloud a los archivos de compilación a fin de configurar el nombre de host para tu servicio. El nombre de 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 el ID de tu proyecto de Google Cloud.
Gradle
Establece la variable projectID
en tu ID del 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 Endpoints pueda administrar tu API.
Para obtener más información acerca de 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.
¿Qué sigue?
- Escribir y anotar el código de tu API de backend.
- Obtén más información sobre las anotaciones.
- Agrega la administración de la API.
- Implementar y probar una API.
- Obtén más información sobre los tipos de parámetros y resultados compatibles.