Creación de servicios WEB usando Google Cloud Endpoints

Clase 18 de 29Curso de Google App Engine

Contenido del curso

Resumen

Domina cómo pasar de código a producción con APIs en Google Cloud Endpoints: desde el despliegue con gcloud app deploy hasta probar métodos en API Explorer. Verás la estructura real de una clase de API, sus anotaciones, mensajes de request/response y cómo sumar nuevas clases desde run.py.

¿Cómo desplegar tu API en App Engine con gcloud app deploy?

Para publicar la primera versión funcional, se parte del proyecto en Cloud Shell, se clona la rama correcta y se ejecuta el despliegue con el archivo de configuración. La confirmación muestra proyecto, servicio por defecto, versión y la URL pública.

  • Clonar la rama APIs del repositorio.
  • Usar permisos con sudo si el entorno lo exige.
  • Verificar archivos en el directorio del repositorio.
  • Entrar a la carpeta de la app y volver a la raíz si es necesario.
  • Ejecutar el despliegue con el archivo app.yml.
  • Indicar proyecto “Plazi Test cero cero uno” y versión “3”.
  • Confirmar el despliegue y abrir la URL del servicio.
gcloud app deploy app.yml

¿Cómo validar rápidamente en API Explorer?

Tras el despliegue, se accede a API Explorer para ver servicios publicados y probar métodos en tiempo real. Se selecciona “tu API” y se ejecutan llamadas.

  • Probar el método para listar solicitudes.
  • Enviar un ID de usuario y revisar el código HTTP 200.
  • Verificar resultados: cuando no hay datos válidos, se indica sin resultados.
  • Probar con un ID existente en datastore, por ejemplo 12345.
  • Confirmar campos devueltos: estado aprobado, fecha reciente y valor de “veinte millones de pesos”.

¿Qué estructura tiene la clase y métodos en Google Cloud Endpoints?

El corazón es una clase, por ejemplo “Solicitudes API”, anotada con Endpoints.API. Dentro, cada método público del servicio se convierte en endpoint con la anotación Endpoints.method, definiendo versión, path, nombre y método HTTP.

¿Qué define la anotación de la clase?

  • Uso de la anotación Endpoints.API.
  • Parámetros clave: nombre y título para identificar el servicio.
  • Versión de la API, por ejemplo “v1”.

¿Cómo se anota un método del endpoint?

  • Uso de Endpoints.method para exponer lógica como API.
  • Declaración de tipos de entrada (request) y salida (response).
  • Definición de path dentro de la URL, nombre público y método HTTP.
  • Ejemplo práctico: “Listar Solicitudes” consulta por usuario y retorna un mensaje con resultados.

¿Cómo definir mensajes, resource container y probar en API Explorer?

Los contratos de entrada y salida se centralizan en el archivo API Messages. Allí se declaran el resource container del request y los messages de la respuesta que se regresan desde el método de la API.

¿Qué incluye el request y el response?

  • Un resource container que recibe: identificación del usuario y email.
  • Un message de respuesta con: ID de usuario, estatus, valor aprobado y fecha de solicitud.
  • Como es listado, se usa un campo de tipo message field marcado como repeat true para devolver un arreglo de “Solicitud Message”.
  • El método arma una colección de solicitudes y retorna un “solicitud list”.

¿Cómo agregar nuevas APIs o métodos y publicarlas?

  • Crear más métodos dentro de la misma clase de solicitudes o una nueva clase.
  • Editar run.py para importar la nueva API y adicionarla a lo expuesto.
  • Subir cambios, desplegar con gcloud y probar en API Explorer.
  • Reutilizar la estructura de request/response para mantener consistencia.

¿Te gustaría que ampliemos con más ejemplos de request/response o de despliegue con versiones? Deja tus dudas y cuéntame qué parte quieres profundizar.