Postman, le client pour API Web qui vous fera oublier les autres

Postman

Postman REST client

Il existe beaucoup de solutions pour appeler/tester une API Web. Postman fait partie de ces solutions et présente beaucoup de fonctionnalités avancées, faisant de lui un candidat très sérieux à ajouter à votre arsenal d’outils.

Postman se décline en deux versions : une application “in-browser” et une “application packagée”, toutes deux pour Chrome. Les fonctionnalités sont proches mais pas strictement identiques. Nous évoquons ici l’application packagée.
Une fois Postman installé, vous disposez d’un environnement graphique complet pour gérer l’ensemble de vos interactions avec vos API Web.

L’interface graphique proposée est claire et permet une prise en main rapide de l’outil. A l’instar d’autres clients pour API Web, comme Advanced Rest Client, aussi disponible pour Chrome (sous forme d’extension), les requêtes construites et exécutées sont stockées dans un historique, leur permettant d’être rejouées facilement ultérieurement.
L’historique est certes pratique, mais n’est pas un modèle idéal pour organiser les requêtes. Postman propose pour cela une notion complémentaire : les “Collections”. Il est ainsi possible d’organiser les requêtes en groupes (les collections), elles-mêmes pouvant bénéficier de répertoires pour faciliter la navigation en cas de grand nombre de requêtes.

Autre besoin récurrent couvert par Postman : la gestion d’environnements. Une même API peut être déployée sur différents environnements (dev, prod, …). Dans ce cas, certains éléments pourront être variabilisés et ainsi permettre de conserver un même ensemble logique de requêtes, alimentées de ces éléments sur simple sélection de l’environnement désiré.

Chaque requête peut être documentée au sein même de Postman, tout comme la collection elle-même. Le tout peut être partagé pour faciliter le travail collaboratif, soit uploadé sur la plateforme en ligne de Postman (et rendu privé ou public selon le choix) ou exporté sous forme d’un fichier JSON.

La saisie des requêtes peut être réalisée via l’interface, qui permet de définir et qualifier les paramètres, les headers, … mais elle peut aussi être simplifiée via l’Interceptor, à installer en plus, qui comme son nom le laisse penser, permettra de sniffer les requêtes.

Postman propose des facilités pour la prise en charge de l’authentification, supportant ainsi les modes les plus communs (BASIC, DIGEST, OAuth 1 & 2).

Les Jetpacks

JetPacks

Les Jetpacks (add-on payant) permettent d’ajouter encore plus de fonctionnalités, pour une somme très modique (moins de 10 $).
Ils sont un complément très appréciable à Postman et apportent :

  • La possibilité d’exécuter des scripts en amont de la requête (valorisation spécifique de variables, …)
  • La possibilité d’écrire et d’exécuter des tests, avec un ensemble d’assertions facilitant la validation des réponses
  • La possibilité de dérouler une collection comme un scénario, un nombre de fois spécifiable.

Il est possible via le scripting d’extraire des données des réponses et de les utiliser dans les appels suivants, que ce soit une information relative à l’authentification (un token) ou une URL si l’API utilise les relations hypermédia, le fameux HATEOAS, cher au style d’architecture REST.

Bonus : Newman

Newman

Newman est un outil en ligne de commande permettant d’exécuter les requêtes et les tests d’une collection issus de Postman. Il est donc possible d’exécuter les requêtes en dehors de Postman. Une des utilisations possibles est l’intégration des tests dans une PIC (le code de sortie peut permettre de mettre le build en erreur).
Newman permet aussi de jouer les scénarios avec des jeux de données fournis par un fichier CSV.

Si vous avez envie d’en savoir plus et d’essayer Postman, suivez ce lien.

Quelques captures d’écran pour vous permettre de découvrir l’interface claire et complète de Postman:

postman_rest_client_screenshot_2

postman_rest_client_screenshot_3

postman_rest_client_screenshot_4