Probar endpoints de forma eficiente es una habilidad fundamental para cualquier desarrollador que trabaje con APIs. Aunque Django REST Framework ofrece una interfaz visual para hacer pruebas rápidas, en la práctica profesional se utilizan herramientas más robustas y versátiles como Postman y Curl, que permiten simular peticiones reales y depurar código tanto en entornos locales como productivos.
¿Por qué no basta con la interfaz visual de Django REST Framework?
La interfaz que Django REST Framework incluye por defecto es útil para pruebas iniciales, pero no es un estándar en la industria. APIs de terceros como Stripe utilizan formatos completamente diferentes para ser probadas [0:20]. Por esta razón, es necesario dominar herramientas dedicadas que ofrecen mayor control sobre las peticiones HTTP.
Postman es una aplicación con múltiples funcionalidades diseñada para construir, probar y documentar APIs. Por otro lado, Curl es una herramienta de línea de comandos que permite ejecutar requests directamente desde la terminal [0:48]. Curl resulta especialmente útil cuando trabajas en un servidor sin interfaz gráfica y necesitas validar que la API responde correctamente.
¿Cómo hacer peticiones GET, POST y DELETE con Postman?
Una vez descargado e instalado Postman desde su página oficial, la interfaz principal permite seleccionar el método HTTP y escribir la URL del endpoint [1:12].
¿Cómo listar y consultar recursos?
Para obtener la lista de pacientes, basta con configurar un request GET a http://localhost:8000/api/patients/ y presionar send [1:28]. El resultado aparece formateado en la parte inferior respetando las reglas de JSON. También es posible:
- Abrir nuevas pestañas para diferentes requests.
- Agregar un ID a la URL para consultar el detalle de un paciente.
- Cambiar el método a DELETE para eliminar un recurso, obteniendo un código 204 sin contenido en la respuesta [1:48].
Postman permite guardar cada request como parte de una colección, lo que facilita reutilizarlos en el futuro.
¿Cómo crear un recurso con POST?
Para crear un nuevo paciente, se selecciona el método POST y se configura el body del request [2:38]. En Postman esto se hace desde la pestaña Body, seleccionando la opción raw y eligiendo el formato JSON. Luego se escribe el objeto con los datos del paciente, por ejemplo con el nombre "Oscar Barajas" [2:55].
Un detalle importante: si olvidas agregar el slash al final de la URL, Django devolverá un error [3:15]. Una vez corregido, la respuesta confirma la creación del recurso.
¿Cómo convertir peticiones de Postman a Curl?
Una funcionalidad muy práctica de Postman es la posibilidad de exportar cualquier request como comando Curl [2:05]. En la parte derecha de la interfaz hay un ícono de código que genera el comando equivalente listo para copiar y pegar en la terminal.
Al ejecutar Curl desde la consola, la respuesta llega comprimida, sin espacios ni saltos de línea [2:18]. Django REST Framework hace esto intencionalmente para reducir el tamaño de la respuesta en bytes y mejorar el rendimiento del endpoint. A diferencia de Postman, que formatea automáticamente el JSON para facilitar la lectura.
Este flujo de trabajo es especialmente valioso para crear suites de pruebas automatizadas: puedes generar los comandos Curl desde Postman, modificar los valores según necesites y ejecutarlos en secuencia [3:38].
Postman y Curl cumplen roles complementarios en el desarrollo de APIs. Postman ofrece una experiencia visual e interactiva ideal para el desarrollo local, mientras que Curl brinda la flexibilidad necesaria para depurar en instancias productivas y simular comportamientos de usuarios mediante peticiones fabricadas manualmente [3:50]. Crear una colección en Postman con todas las operaciones de tu API es un excelente primer paso para mantener un flujo de pruebas organizado.