A la hora de desarrollar una API, las tareas que normalmente se quedan más de lado y que a la vez son de las más importantes son el testeo y la generación de documentación. Postman es una herramienta gratuita que facilita enormemente estas dos tareas, combinándolas en una única. Permite, además, (en su versión de pago) compartir las pruebas definidas con diferentes personas de un equipo, facilitando la colaboración entre desarrolladores e incluso con el cliente final.
Las operaciones más básicas que permite realizar la aplicación son las de hacer llamadas de prueba a diferentes urls de la API REST, con diferentes métodos HTTP (GET, POST, PUT, DELETE, UPDATE...), para comprobar las respuestas del servidor. Estas llamadas se pueden guardar y organizar en directorios y colecciones. Cada llamada puede tener sus propios parámetros a enviar en la petición, así como sus cabeceras HTTP, que se pueden definir de forma muy intuitiva mediante la interfaz gráfica.
Una forma más avanzada de esta funcionalidad es la de sustituir los valores puestos en bruto por variables. De esta forma podemos cambiar parámetros en masa, como por ejemplo el dominio de la url, para poder realizar las mismas llamadas en diferentes entornos (local, desarrollo, producción, etc) cambiando solamente el dominio una única vez a la variable en vez de tener que cambiarlo una a una en todas las llamadas.
Y esto nos lleva a la siguiente funcionalidad, la de sustituir los valores puestos en bruto por variables. Un caso concreto en el que es de gran utilidad es el de definir el valor de una variable con uno devuelto por la API. A la hora de realizar la autenticación, por ejemplo, es habitual que la API devuelva un Token que se debe enviar en las futuras llamadas. Se puede automatizar la acción de guardar el valor del Token en una variable, tras la llamada al método para autenticarse.
Las variables de Postman pueden ser globlales o específicas para diferentes entornos definidos. Y para poder tener varios entornos definidos con las mismas variables con diferentes valores, existen las "Plantillas de Entorno" (Environment Templates en inglés). Estas plantillas de entorno son especialmente útiles a la hora de colaborar con otros desarrolladores y/o clientes que van a hacer uso de la API.
Tener varias llamadas a la API definida, con parámetros sacados de variables, plantillas de entorno que definen el conjunto de variables necesarios y varios entornos con diferentes valores definidos para cada una de las variables, facilita el proceso de testeo tras el despliegue de la aplicación en diferentes entornos.
Una vez definidas todas las pruebas, una de las mayores funcionalidades que ofrece Postman es la generación automática de documentación. Además de haber definido los parámetros que se envían tanto en las cabeceras como datos de cada llamada, se puede dar una descripción que defina cada uno de ellos, explicaciones de lo que hace cada llamada, e incluso se pueden definir respuestas de ejemplo para éstas.
Todo ello se compila automáticamente en una página web de documentación, en la que se puede seleccionar un entorno para sustituir los nombres de variables por sus valores dentro de ese entorno, generando una documentación completa con todas las llamadas organizadas, explicadas y bien definidas, y con ejemplos de código en varios de los lenguajes más utilizados (URL, Javascript, Ruby, PHP, Go).
Comentarios