Leer Respuestas de API Sin Perder la Cordura
Por qué las respuestas de tu API parecen basura y cómo realmente leerlas.
Llamas a un endpoint de API. Llega la respuesta. Se ve así:
{"users":[{"id":1,"name":"John","email":"john@example.com","settings":{"notifications":true,"theme":"dark","language":"en"}},{"id":2,"name":"Jane","email":"jane@example.com","settings":{"notifications":false,"theme":"light","language":"es"}}],"meta":{"total":2,"page":1}}
Buena suerte encontrando ese campo que necesitas.
Así es como se ve el 90% de la depuración de API. JSON minificado, sin saltos de línea, todo amontonado. Es técnicamente correcto. También es ilegible.
Solo Formatéalo
Toma ese muro de texto, pégalo en un formateador JSON, y de repente:
{
"users": [
{
"id": 1,
"name": "John",
"email": "john@example.com",
"settings": {
"notifications": true,
"theme": "dark",
"language": "en"
}
}
]
}
Mismos datos. Realmente legible. Puedes ver la estructura, encontrar campos anidados, detectar valores faltantes.
Escenarios Comunes de Depuración
"La API devuelve un error pero no sé por qué"
Formatea la respuesta de error. A menudo hay un campo message o details anidado enterrado ahí que explica exactamente qué salió mal. Solo que no podías verlo en la versión minificada.
"Necesito comparar dos respuestas"
Formatea ambas, luego usa una herramienta de diff. JSON minificado es imposible de comparar: todo se muestra como cambiado porque los saltos de línea son diferentes.
"¿Es esto siquiera JSON válido?"
Pégalo en un formateador. Si es inválido, obtendrás un error señalando el problema. Coma faltante, paréntesis extra, comilla sin escapar: el formateador te lo dirá.
Trabajando con JWTs
Los JWTs (JSON Web Tokens) son solo JSON codificado en base64. Cuando ves algo como:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
Eso no está encriptado. Solo está codificado. Decodifícalo y verás la carga útil real: ID de usuario, tiempo de expiración, permisos, lo que sea que contenga el token.
Útil para depurar problemas de autenticación. "¿Por qué estoy obteniendo 403?" Decodifica el token, verifica si expiró, verifica que los claims coincidan con lo que esperas.
Base64 en Respuestas de API
A veces las APIs devuelven datos codificados en base64. Contenido de archivos, imágenes, blobs encriptados. Si necesitas ver qué hay realmente ahí, decodifícalo.
Común en:
- APIs de email (adjuntos vienen codificados en base64)
- Subidas de imágenes (URIs de datos son base64)
- Servicios SOAP legados (porque SOAP)
Consejos para Trabajo con API
Usa herramientas de desarrollo del navegador. La pestaña Network muestra solicitudes y respuestas. La mayoría de navegadores pueden pretty-print respuestas JSON automáticamente.
Guarda respuestas de ejemplo. Cuando una API funciona correctamente, guarda una copia formateada. Cuando se rompe, puedes comparar contra la versión que funciona.
Verifica el tipo de contenido. A veces lo que parece JSON es en realidad una cadena que contiene JSON. Podrías necesitar analizarlo dos veces.
Vigila problemas de codificación. Los caracteres Unicode pueden causar problemas. Si ves códigos \u0000, eso es Unicode escapado: usualmente bien, pero a veces indica problemas de codificación upstream.
La depuración de API es principalmente sobre ver los datos claramente. Formatea tu JSON, decodifica tus tokens, y pasarás menos tiempo entornando los ojos ante blobs minificados.