Ir al contenido

Tutorial: Probar tu API con Postman

Al terminar este tutorial vas a ser capaz de:

  • Crear y enviar una petición HTTP desde Postman.
  • Leer el código de estado, los headers y el body de una respuesta.
  • Guardar una petición en una Collection para no reescribirla cada vez.
  • Guardar la URL de tu backend en una variable de entorno, para no depender de dónde esté desplegado.
  • Escribir un test simple que verifique el código de estado de la respuesta.
  • Crear una petición POST con un body JSON y verificar que el backend responda 201 Created.
  • Exportar tu Collection y tu Environment, y guardarlos en tu repositorio, versionados junto con tu código.

Prerrequisitos: tener Postman instalado (lo hiciste en el taller de ambiente de desarrollo), y tu backend corriendo con GET /artistas respondiendo (./mvnw spring-boot:run, como en el Paso 7 del tutorial de API REST) y con POST /artistas respondiendo, como quedó en el tutorial de agregar el endpoint POST.


Ya verificaste tu endpoint con curl en el tutorial anterior. Eso sirve para una comprobación rápida, pero tiene un límite: cada vez que quieres repetirla tienes que volver a escribir el comando completo, y la respuesta llega como texto plano sin formato.

Postman resuelve las dos cosas: guarda la petición para reutilizarla con un clic, y te muestra la respuesta organizada (status, headers y body por separado, con el JSON formateado y coloreado).


3. Conceptos: Workspace, Collection, Request, variables y Environment

Sección titulada «3. Conceptos: Workspace, Collection, Request, variables y Environment»

Antes de crear nada, vale la pena tener claro el vocabulario que vas a usar en el resto del tutorial (y en el resto del curso):

  • Workspace: el espacio de trabajo donde vive todo lo demás. Por defecto tienes uno personal, llamado My Workspace; ahí van a quedar guardadas tus Collections y tus Environments mientras trabajas en el proyecto de forma individual.
  • Request: una petición HTTP guardada, con su método (GET, POST, etc.), su URL, sus headers, su body y, opcionalmente, sus tests. Es la unidad más pequeña con la que trabajas en Postman.
  • Collection: una carpeta que agrupa Requests relacionados, para que no queden sueltos ni se pierdan entre los de tus compañeros de curso. Vas a tener una Collection por módulo.
  • Variable: un valor con nombre que reutilizas en varias Requests escribiendo {{nombreVariable}} en vez de escribir el valor literal en cada una.
  • Environment: un conjunto de variables agrupadas con un propósito específico, por ejemplo “correr contra mi backend local”. Cambiar de Environment cambia de un solo golpe el valor de todas sus variables, sin tocar ninguna Request.

En los siguientes pasos vas a crear una Collection con dos Requests (GET y POST), un Environment con una variable para la URL base, y al final vas a exportar la Collection para dejarla versionada en tu repositorio.


  1. Abre Postman y haz clic en New → Collection.
  2. Nómbrala igual que tu módulo, por ejemplo Musical - Artistas.
  3. Déjala creada: ahí vas a ir guardando las peticiones de tu módulo a medida que avances en el curso.

Hoy tu backend corre en http://localhost:8080, pero eso va a cambiar: en algún momento del curso lo vas a desplegar en un servidor, y la URL va a ser otra. Si escribes esa URL directamente en cada petición, tienes que editarlas todas a mano cada vez que cambie. Guardarla en una variable de tu Environment te permite cambiarla en un solo lugar y que se actualicen todas tus peticiones.

  1. En la esquina superior derecha, abre el selector de Environments (dice No Environment) → Add.
  2. Nómbralo igual que tu proyecto, por ejemplo Musical - Local.
  3. Agrega una variable:
    • Variable: baseUrl
    • Initial value y Current value: http://localhost:8080
  4. Guarda, y selecciona ese Environment en el mismo selector de la esquina superior derecha (ya no debe decir “No Environment”).

Dentro de la Collection que acabas de crear:

  1. Haz clic derecho sobre la Collection → Add request.
  2. Nómbrala GET artistas.
  3. Verifica que el método, a la izquierda de la barra de URL, esté en GET.
  4. En la barra de URL, escribe:
{{baseUrl}}/artistas
  1. Haz clic en Send.

Debajo de la barra de URL, Postman te muestra tres cosas:

  • El código de estado, junto al tiempo de respuesta: debería ser 200 OK.
  • Headers, la pestaña con los headers de la respuesta, entre ellos Content-Type: application/json.
  • Body, con el JSON completo, formateado e indentado.

Compara el body contra los datos de tu Gist: mismo número de artistas, mismos nombres, misma estructura anidada de álbumes y canciones.


8. Escribir un test que verifique el status code

Sección titulada «8. Escribir un test que verifique el status code»

Revisar el status a simple vista funciona, pero no queda registrado en ningún lado: si vuelves a correr la petición mañana, tienes que revisarlo de nuevo a mano. Un test lo deja verificado y visible en Test Results cada vez que envías la petición.

En la petición GET artistas, abre la pestaña Scripts (al lado de Body), elige Post-response y pega (en versiones anteriores de Postman, esta pestaña se llamaba Tests):

pm.test("Status code es 200 OK", () => pm.expect(pm.response.code).to.equal(200));

Haz clic en Send de nuevo. Debajo de la respuesta aparece la pestaña Test Results, con un ✅ junto al nombre de tu test.


9. Crear la petición POST /artistas y verificar el 201

Sección titulada «9. Crear la petición POST /artistas y verificar el 201»

Un GET no manda datos, un POST sí: hay que decirle a Postman qué JSON enviar, en el body de la petición.

  1. Haz clic derecho sobre la Collection → Add request.
  2. Nómbrala POST artistas.
  3. Cambia el método, a la izquierda de la barra de URL, a POST.
  4. En la barra de URL, escribe lo mismo de siempre:
{{baseUrl}}/artistas
  1. Abre la pestaña Body, selecciona raw, y a la derecha cambia el formato de Text a JSON.
  2. Pega un artista nuevo, sin id y sin albumes (esos los asigna o los completa el backend):
{
"nombre": "Shakira",
"fotoArtistaUrl": "https://picsum.photos/seed/shakira/200",
"paisOrigen": "Colombia",
"fechaNacimiento": "1977-02-02",
"biografia": "Cantante colombiana."
}
  1. Haz clic en Send.

El status de una creación exitosa no es 200, es 201 Created. Abre la pestaña Scripts, opción Post-response, de esta nueva petición y pega:

pm.test("Status code es 201 Created", () => pm.expect(pm.response.code).to.equal(201));

Haz clic en Send de nuevo y confirma el ✅ en Test Results.


10. Exportar la Collection y el Environment a tu repositorio

Sección titulada «10. Exportar la Collection y el Environment a tu repositorio»

Hasta ahora la Collection y el Environment solo existen en tu Postman local: si reinstalas la app o trabajas desde otro computador, los pierdes. Expórtalos y guárdalos junto con tu código, para que queden versionados como cualquier otro archivo del proyecto.

  1. Haz clic derecho sobre la Collection → Export.
  2. Elige el formato Collection v2.1 (el que Postman recomienda por defecto) y confirma.
  3. Guarda el archivo .json descargado dentro de tu repositorio, en una carpeta collections/ en la raíz, con el nombre <Entidad>.postman_collection.json. Para el módulo de artistas: collections/Artista.postman_collection.json.
  4. Ahora exporta también el Environment: en el selector de Environments, clic en el ícono de opciones (los tres puntos, junto al nombre del Environment) → Export.
  5. Guarda ese archivo en la misma carpeta, como collections/environment.postman_environment.json.
  6. Agrega los dos archivos a git y haz commit: git add collections/.

Cuando reinstales Postman o trabajes desde otro computador, haz el camino inverso: importa los archivos desde tu repositorio, primero la Collection y luego el Environment.

  1. Abre el menú File → Import… (o pulsa Ctrl+O). Se abre el diálogo Use Resources, en la pestaña Import.
  2. Abre en tu editor el archivo collections/Artista.postman_collection.json, selecciona todo su contenido (Ctrl+A), cópialo (Ctrl+C) y pégalo en el cuadro de texto de la parte de arriba del diálogo. Postman reconoce que es una Collection y la agrega a la barra lateral.
  3. Repite con collections/environment.postman_environment.json: abre el diálogo de nuevo y pega su contenido. El Environment aparece en la sección Environments.
  4. Selecciona ese Environment como en el paso 5, antes de enviar peticiones.

Al final de este tutorial tienes una Collection en Postman con un Environment configurado, y dos peticiones guardadas usando {{baseUrl}}: GET /artistas (con un test que verifica 200 OK) y POST /artistas (con un test que verifica 201 Created). Tanto la Collection como el Environment ya quedaron exportados y versionados en tu repositorio, en collections/.

Lo que viene después:

  • Pruebas de API con Postman: vas a profundizar en pm.expect(), encadenar peticiones (POST → GET → DELETE reutilizando el mismo id) y escribir escenarios positivos y negativos para PUT y DELETE.