Probando API Ruby on Rails con Postman
Clase 26 de 33 • Curso de Creación de APIs con Ruby on Rails
Contenido del curso
Proyecto
- 3

Creación de APIs con Rails: Proyecto Blog API paso a paso
04:37 min - 4

Configuración de Gemas para Pruebas en Proyectos Rails
06:26 min - 5

Configuración de Gemas en Proyectos Rails: Arspec, Factory Bot y Database Cleaner
07:25 min - 6

Implementación de un Health Check Endpoint en API con RSpec
12:28 min - 7

Diseño de Casos de Uso y Diagramas de Entidad para Aplicaciones
03:16 min - 8

Diagrama entidad relación: usuario y post
01:41 min - 9

Modelado de Aplicaciones con TDD en Rails
05:59 min - 10

Validaciones y Pruebas TDD en Rails: Modelos USR y Post
07:07 min - 11

Implementación de Endpoints para Listar y Mostrar Posts con TDD
15:12 min - 12

Implementar controlador Posts con TDD
10:34 min - 13

Pruebas TDD para crear y actualizar posts
10:12 min - 14

Implementación de Métodos y Manejo de Excepciones en Rails API
10:23 min - 15

Active Model serializers: control total de JSON en Rails
06:03 min - 16

Búsqueda y Filtrado de Posts por Título con TDD
05:57 min - 17

Implementación de Búsqueda de Posts con Servicios en Rails
06:06 min - 18

Problema N+1 en Rails: Detección y Solución Eficaz
04:40 min - 19

Identificación y solución del problema N+1 en Rails
06:20 min - 20

Flujo de Autenticación en APIs con Tokens y Proveedores
05:29 min - 21

Tests con RSpec para autenticación de tokens
12:17 min - 22

Autenticación con Tokens: Implementación en Rails API
05:53 min - 23

Autenticación de Usuarios en Controladores Rails
09:19 min - 24

Autenticación y Seguridad en CRUD de Posts en Rails
09:17 min - 25

Pruebas de Creación y Actualización con Autenticación en Rails
14:21 min - 26

Probando API Ruby on Rails con Postman
Viendo ahora - 27

Caching en Aplicaciones Web: Funciones y Niveles
07:15 min - 28

Aceleración de Búsquedas en Rails con Caching
08:23 min - 29

Background Jobs en Rails: Conceptos y Funcionalidades
05:45 min - 30

Procesamiento en Background y Envío de Correos con Rails
09:45 min - 31

Envío de Correos en Rails con ActionMailer y Background Jobs
11:06 min - 32
Autenticación y Autorización con JWT y Auth0 en Aplicaciones Web
03:48 min
Cierre
Has construido un API con Ruby on Rails guiado por test-driven development (TDD) y ahora lo ves en acción con Postman, verificando respuestas reales, estados HTTP y autenticación. Aquí encuentras los pasos esenciales para ejecutar el servidor, poblar datos con Factory Bot, y probar endpoints para listar, crear y actualizar posts con cuerpos JSON y headers de autorización.
¿Cómo levantar y comprobar el API con Postman y línea de comando?
Arranca el servidor con el comando de Rails y valida rápidamente que el API responde antes de abrir Postman. También puedes formatear la salida JSON en consola con la herramienta jq para leer mejor las respuestas.
- Ejecuta el servidor en el puerto 3000.
- Verifica el endpoint de salud con curl.
- Usa jq para formatear JSON legiblemente.
rails s
curl http://localhost:3000/help | jq
En Postman, crea un request GET a localhost:3000/help. Allí puedes: - Añadir parámetros y headers fácilmente. - Revisar cuerpo, headers y cookies de la respuesta. - Implementar pruebas si usas una versión avanzada.
¿Cómo poblar la base de datos con Factory Bot y preparar el entorno?
Para probar endpoints más interesantes como listar posts, primero necesitas datos. Mueve Factory Bot y Faker al entorno de desarrollo en el Gemfile, ejecuta bundle y usa la Rails console para crear usuarios y posts de prueba.
- Incluye las gemas en desarrollo y pruebas.
- Recarga dependencias con bundle.
- Abre consola y crea datos con Factory Bot.
bundle
rails c
En la consola:
# Crear usuarios de prueba
u1 = FactoryBot.create(:user)
u2 = FactoryBot.create(:user)
# Crear listas de posts asociados al usuario
FactoryBot.create_list(:post, 10, user: u1)
FactoryBot.create_list(:post, 10, user: u2)
Consejo útil: el guion bajo _ en Rails console hace referencia al resultado de la última instrucción, lo que agiliza consultas encadenadas.
¿Cómo probar endpoints protegidos: listar, crear y actualizar posts?
Con datos creados, valida el listado, la creación con autenticación y la actualización. Guarda tus requests en una colección de Postman para reutilizarlos.
¿Cómo listar posts con serializer y verificar la respuesta?
En Postman, envía un GET a localhost:3000/posts. Verás: - Campos como id, título y contenido. - El autor incluido gracias a Active Model Serializer.
Guarda este request como “Listar posts” en una colección, por ejemplo: “Platzi blog API”.
¿Cómo crear un post con body JSON y autorización?
Crea un request POST a localhost:3000/posts, con cuerpo en formato raw JSON. La estructura debe incluir el nodo raíz post y llaves entre comillas.
- Primero, sin autenticación: debe responder 401 no autorizado.
- Luego, añade el header de autorización con el token de un usuario.
Ejemplo de body:
{
"post": {
"title": "Título de ejemplo",
"content": "Contenido del post.",
"published": true
}
}
En la Rails console, obtén el token de autenticación del usuario y pégalo en Postman en el header Authorization. Al reenviar, la API crea el post y devuelve status 201 con el contenido creado.
Guarda este request como “Crear post” en la misma colección.
¿Cómo actualizar un post por id y confirmar cambios en la consola?
Para actualizar, usa el id del post. En el ejemplo, se toma el último creado con id 51 y se verifica a qué usuario pertenece. Asegúrate de usar el mismo token de autenticación.
- Endpoint: localhost:3000/posts/:id.
- Método: el que tu API acepte para actualización.
- Body raw JSON con los atributos a cambiar.
Ejemplo de body para actualizar el título:
{
"post": {
"title": "Título actualizado"
}
}
Incluye el header Authorization con el token y envía la petición. La respuesta devuelve status OK y el nuevo contenido. En la Rails console, usa reload para confirmar que el cambio se guardó en base de datos:
post.reload
Habilidades y conceptos reforzados:
- Arranque y verificación de servidor con rails s y curl.
- Formateo de JSON en consola con jq.
- Población de datos con Factory Bot y uso de create_list.
- Organización de requests en colecciones de Postman.
- Manejo de headers de Authorization y uso de token de autenticación.
- Respuestas HTTP y estados como 401 y 201.
- Uso de Active Model Serializer para estructurar la salida.
- Productividad en Rails console con _ y reload.
¿Te quedó alguna duda sobre el flujo en Postman, el body JSON o la autorización? Comparte tus preguntas y cuéntanos qué otro endpoint te gustaría probar a continuación.