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.

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).


Una Collection en Postman es una carpeta que agrupa peticiones relacionadas, para que no queden sueltas ni se pierdan entre las de tus compañeros de curso.

  1. Abre Postman y haz clic en NewCollection.
  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. Un Environment de Postman la guarda en una variable, para que cambiarla en un solo lugar actualice 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.


7. Escribir un test que verifique el status code

Sección titulada «7. 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 Tests (al lado de Body) y pega:

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.


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

Sección titulada «8. 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. Ábre la pestaña Tests 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.


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).

Lo que viene después:

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