No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Testing de GetStudent y SetStudent

11/22
Recursos

¿Cómo ejecutar nuestro servidor GRPC y probar los métodos en Postman?

Iniciar y probar un servidor GRPC es esencial para cualquier desarrollador que desee implementar servicios de comunicación eficientes y modernos. A lo largo de este proceso, utilizaremos Docker, Postman y el lenguaje de programación Go para levantar nuestro servidor y verificar la correcta operación de los métodos desarrollados. Vamos a detallar los pasos y las herramientas necesarias para lograrlo.

¿Cómo levantar la base de datos con Docker?

El primer paso es asegurarnos de que nuestra base de datos esté operativa y lista para ser utilizada por nuestro servidor. Para ello, usamos Docker, una herramienta de contenedorización que simplifica la gestión de aplicaciones.

  • Construcción de la base de datos: Iniciamos construyendo la base de datos, asignándole un tag. Utilizamos el comando:
    docker run --name platzi-grpc-db -p 54321:54321 -d postgres
    
    Esto levanta una base de datos Postgres dentro de un contenedor en el puerto 54321, el cual ha sido configurado para mapear desde nuestra conexión local.

¿Cómo ejecutar el servidor escrito en Go?

Una vez levantada la base de datos, es momento de poner en marcha nuestro servidor. El servidor ha sido implementado en Go y es fundamental ejecutarlo correctamente para que nuestros servicios estén operativos.

  • Ejecución del servidor: Abrimos una nueva terminal y utilizamos el comando:
    go run server-student/main.go
    
    Este comando ejecuta nuestro servidor, asegurándose de que esté listo para recibir y responder solicitudes.

¿Cómo utilizar Postman para testear métodos GRPC?

Con la base de datos y el servidor en funcionamiento, procedemos a probar los métodos usando Postman, una popular herramienta para pruebas de APIs que ahora incorpora la capacidad de trabajar con servicios GRPC.

  • Configuración de GRPC en Postman: En Postman, creamos un nuevo request de tipo GRPC. Especificamos la URL donde está corriendo el servidor, utilizando el puerto 5060. Gracias al 'server reflection', Postman puede detectar automáticamente los métodos disponibles.

¿Cómo probar los métodos setStudent y getStudent?

Utilizando la interfaz de Postman, ahora es posible enviar solicitudes y comprobar el correcto funcionamiento de nuestros métodos GRPC.

  • Probar setStudent: Ingresamos a la opción para generar un ejemplo de uso y modificamos según los datos deseados, como la edad y el ID de un estudiante. Al enviar la solicitud, si todo está configurado correctamente, deberíamos recibir el ID del estudiante como respuesta.

  • Probar getStudent: Seleccionamos el método getStudent, y con el ID previamente utilizado (st1), enviamos la solicitud. La respuesta debería mostrar los datos del estudiante insertado, confirmando así el correcto funcionamiento de nuestro método.

La incorporación de 'server reflection' en nuestro código ha demostrado ser esencial, permitiendo a Postman leer y completar automáticamente la estructura de datos requerida. Es un poderoso aliado para cualquier desarrollador que desee maximizar la eficiencia en sus pruebas de API. ¡Continúa explorando estas herramientas y tecnologías para enriquecer tus habilidades de desarrollo!

Aportes 3

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Pueden utilizar Docker Compose para crear la base de datos más fácil. En la raíz de su proyecto crean el archivo docker-compose.yml:

# filename: docker-compose.yml
version: "3.8"

services:
  postgres:
    build: ./database

    ports:
      - "5432:5432"

Y luego ejecutan el comando:

# Ver todo los logs
docker-compose up

# Ocultar los logs en el background
docker-compose up -d
para los que no especificaron el nombre de la data base usen "postgres" como nombre en la coneccion, asi: postgres://postgres:postgres@localhost:54321/postgres?sslmode=disable

Empecé a ver un curso de grpc y terminé peleando con la instalación de postgres y docker. Peśima planeación de los temas.