Contenido del curso
gRPC
- 6

gRPC: qué lo hace más rápido que REST
08:35 min - 7

JSON vs Protobuf: cuándo usar cada uno
08:56 min - 8

Definir un StudentService con proto buffers en Go
04:27 min - 9

Implementación de Repositorios y gRPC en Go con PostgreSQL
11:59 min - 10

Criando o primeiro servidor gRPC em Go
12:50 min - 11

Prueba tu servidor gRPC con Postman
Viendo ahora - 12

Definiendo el servicio de test en gRPC
03:38 min - 13

Implementando servidor gRPC con PostgreSQL en Go
17:45 min - 14

Client streaming en gRPC con Go
16:53 min - 15

Implementación de Streaming del Servidor con gRPC y Protobufs
16:25 min - 16

Streaming del servidor con gRPC en Go
16:23 min - 17

Streaming bidireccional en gRPC con Go
16:04 min - 18

Prueba de streaming bidireccional con gRPC
04:55 min - 19

Implementando un cliente gRPC en Go
13:10 min - 20

Streaming bidireccional en gRPC con Go
12:16 min
Conclusión
Prueba tu servidor gRPC con Postman
Resumen
Probar un servidor gRPC en Go con Postman es más sencillo de lo que parece cuando activas server reflection y levantas tu base de datos en Docker. Aquí verás cómo correr el servidor, conectar Postman y validar los métodos setStudent y getStudent paso a paso, ideal si estás construyendo tu primera API gRPC.
Cómo levanto la base de datos en Docker para gRPC
Antes de tocar el servidor, necesitas la base de datos corriendo. Vamos a usar Docker para construir la imagen y exponer el puerto correcto.
El flujo es directo. Construyes la imagen con un tag identificable y luego la ejecutas mapeando el puerto que tu servidor espera.
- Construye la imagen con el tag
platzi-grpc-dbpara reconocerla fácil. - Ejecuta
docker runcon el flag-p 54321:5432, donde 54321 es el puerto externo y 5432 es el que usa Postgres dentro del contenedor. - Verifica que el puerto coincida con el de tu archivo de conexión a la base de datos.
¿Por qué mapeo el puerto 54321 al 5432? Porque Postgres siempre corre en 5432 dentro del contenedor, pero tú expones 54321 hacia tu máquina para evitar conflictos con otras instancias de Postgres locales.
Una vez levantada, la tabla que creaste previamente queda lista para recibir inserciones desde tu servidor.
Cómo ejecuto el servidor gRPC en Go
Con la base de datos arriba, abres una nueva terminal y corres el servidor con un solo comando: go run apuntando al archivo main.go dentro de server/student. Eso es todo. Tu servidor gRPC queda escuchando en el puerto definido, listo para recibir peticiones.
Cómo conecto Postman a un servidor gRPC con reflection
Postman ya soporta gRPC de forma nativa, así que no necesitas herramientas adicionales para probar tus métodos.
El truco está en aprovechar server reflection, que permite a Postman descubrir automáticamente los servicios y métodos expuestos sin que tú cargues manualmente el archivo .proto.
Qué pasos sigo en Postman para crear el request
- Haz clic en new y selecciona gRPC request en lugar de HTTP o WebSocket.
- Escribe la URL del servidor, en este caso apuntando al puerto 5060.
- Selecciona la opción de cargar servicios mediante server reflection.
- Postman detectará y listará los métodos disponibles, como
setStudentygetStudent.
¿Qué es server reflection en gRPC? Es una funcionalidad que permite a un cliente consultar al servidor qué servicios y métodos expone, sin necesidad de tener los archivos
.protolocalmente. Por eso agregar esas líneas al servidor fue clave.
Gracias a esto, Postman rellena por ti la estructura de datos esperada en cada llamada.
Cómo pruebo los métodos setStudent y getStudent
Con todo conectado, llega la parte divertida: validar que tu lógica funciona end-to-end.
Cómo invoco setStudent desde Postman
Al seleccionar setStudent, presionas el ícono que genera un ejemplo automático del request. Postman te entrega la estructura completa basada en tu definición.
Para este caso usamos estos valores:
- Edad: 20.
- ID:
student1(lo enviamos manualmente como identificador). - Nombre: el que viene por defecto en el ejemplo generado.
Al invocar el método con el botón azul, el servidor responde con el ID del estudiante insertado, que es justo lo que el response tiene definido devolver. Inserción confirmada.
Cómo verifico la inserción con getStudent
Ahora cambias al método getStudent, copias el ID que acabas de insertar (ST1 o el que hayas usado), generas otro ejemplo de request y lo ejecutas.
La respuesta debe traerte el estudiante completo: nombre, edad e ID. Si los datos coinciden con lo que enviaste, tu servidor está leyendo y escribiendo correctamente contra Postgres.
¿Qué hago si Postman no detecta los servicios gRPC? Revisa que hayas registrado server reflection en el código del servidor y que la URL apunte al puerto correcto donde está escuchando tu aplicación.
Con setStudent y getStudent funcionando, tienes la base validada para seguir agregando servicios. ¿Qué método te gustaría implementar después: actualizar o eliminar estudiantes? Cuéntame en los comentarios.