Introducción
En esta lección aprenderemos a probar nuestros endpoints de API utilizando Postman junto con Cursor AI para resolver errores de manera eficiente.
Opciones para Testing de Endpoints
Para probar nuestros endpoints tenemos varias opciones:
- Postman (aplicación independiente) – Recomendado
- Thunder Client (extensión para el editor)
Preferimos usar Postman como aplicación independiente por su robustez y facilidades.
Configuración Inicial de Postman
Instalación y Setup
- Busca «Postman» en tu navegador
- Descarga e instala la aplicación
- Inicia sesión en tu cuenta
- Asegúrate de tener un workspace configurado
Creando la Estructura de Trabajo
- Crear una Colección:
- Nombre: «ebook» (o el nombre de tu proyecto)
- Crear Sub-colecciones:
- Carpeta: «Authentication» (para rutas de autenticación)
- Agregar requests específicos (ej: «Register»)
Obtener Endpoints con Cursor AI
Paso 1: Solicitar Información de Rutas
- Abre la ventana de chat en Cursor AI
- Agrega los archivos relevantes:
- Archivo de rutas (
auth.route.js
) - Archivo del servidor principal
- Archivo de rutas (
- Solicita: «Proporciona todos los endpoints completos para cada ruta»
Ejemplo de Respuesta de Cursor AI:
POST http://localhost:3000/api/auth/register
POST http://localhost:3000/api/auth/login
GET http://localhost:3000/api/auth/profile
Testing del Endpoint de Registro
Configuración en Postman
- Método: POST
- URL:
http://localhost:3000/api/auth/register
- Body:
- Tipo: Raw
- Formato: JSON
Obtener Datos de Prueba
Para no adivinar qué propiedades necesitamos, preguntamos a Cursor AI:
Prompt: «Proporciona datos de ejemplo para registro de usuario en Postman basado en el modelo de usuario»
Agrega al chat:
- Archivo del modelo de usuario
- Archivo del servidor (si es necesario)
Ejemplo de Datos de Registro:
json{
"name": "Juan Pérez",
"email": "juan@ejemplo.com",
"password": "password123"
}
Resolución de Errores Comunes
Error: «Secret key or private key must be provided»
Causa: Falta la clave secreta para JWT en las variables de entorno.
Solución con Cursor AI:
- Copia el error completo
- Abre Composer en Cursor AI
- Pega el error y explica el contexto
- Cursor AI creará/modificará:
- Archivo
.env
con variables necesarias - Configuración de dependencias en
package.json
- Importación de variables de entorno en el servidor
- Archivo
Configuración de Variables de Entorno
envJWT_SECRET=tu_clave_secreta_aqui_123456789
Instalación de dependencias faltantes:
bashnpm install dotenv
Testing del Endpoint de Login
Configuración
- Método: POST
- URL:
http://localhost:3000/api/auth/login
- Body (JSON):
json{
"email": "juan@ejemplo.com",
"password": "password123"
}
Validación de Respuesta
- Login exitoso: Retorna token JWT
- Credenciales inválidas: Mensaje de error apropiado
Testing de Endpoints Protegidos
Endpoint: Get Profile
- Método: GET
- URL:
http://localhost:3000/api/auth/profile
- Headers requeridos:
Authorization: Bearer [tu_token_jwt]
Proceso:
- Hacer login para obtener el token
- Copiar el token de la respuesta
- Agregarlo en Headers como
Authorization: Bearer [token]
Debugging de Errores de Autorización
Error Común: «No token, authorization denied»
Diagnóstico paso a paso:
- Verificar formato del header:
- ✅ Correcto:
Authorization: Bearer [token]
- ❌ Incorrecto:
x-auth-token: [token]
- ✅ Correcto:
- Debug en el middleware:
javascript// Agregar logs para debugging
console.log('Headers:', req.headers);
console.log('Token:', token);
- Usar Cursor AI para corregir:
- Describe el problema específico
- Menciona cómo estás enviando el token
- Cursor AI ajustará el middleware de autenticación
Solución Típica – Middleware de Autenticación:
javascript// Extraer token del header Authorization
const authHeader = req.header('Authorization');
const token = authHeader && authHeader.startsWith('Bearer ')
? authHeader.slice(7)
: null;
Visualización de Datos con MongoDB Extension
Instalación y Configuración
- Instalar extensión «MongoDB» en tu editor
- Configurar conexión a tu base de datos
- Navegar:
baseDatos > colección > documentos
Verificar Registros:
- Confirmar que los usuarios se crean correctamente
- Validar estructura de datos
- Limpiar datos de prueba si es necesario
Mejores Prácticas para Debugging
1. Debugging Sistemático
- Identificar la línea exacta del error
- Usar logs estratégicos para rastrear el flujo
- Verificar cada paso del proceso de autenticación
2. Uso Efectivo de Cursor AI
- Proporcionar contexto completo del error
- Incluir archivos relevantes en el chat
- Describir exactamente qué estás intentando hacer
3. Manejo de Tokens
- Verificar formato correcto en headers
- Confirmar que el token se está extrayendo correctamente
- Validar que el usuario existe en la base de datos
Estructura de Archivos de Referencia
Mantén un archivo endpoints.md
con todos tus endpoints documentados:
markdown## Authentication Routes
- POST /api/auth/register - Registro de usuario
- POST /api/auth/login - Inicio de sesión
- GET /api/auth/profile - Obtener perfil (protegido)
- PUT /api/auth/profile - Actualizar perfil (protegido)
Conclusión
El proceso de testing de endpoints se vuelve mucho más eficiente cuando:
- Usas Cursor AI para generar endpoints y datos de prueba
- Implementas debugging sistemático con logs estratégicos
- Aprovechas las capacidades de AI para resolver errores rápidamente
- Mantienes una estructura organizada en Postman y documentación
Recuerda: «La idea detrás de lo que estás construyendo importa mucho», pero tener las herramientas adecuadas y saber usarlas eficientemente hace la diferencia en el desarrollo.
Próximos Pasos
En la siguiente lección exploraremos:
- Testing de endpoints más complejos
- Manejo de archivos y uploads
- Validación de datos avanzada
- Automatización de tests