{{ https://insomnia.rest/images/insomnia-logo.svg|Logo Insomnia}} ====== Insomnia ====== Nous avons vu avec la page [[informatique:curl|cUrl]] que nous pouvons exécuter des requêtes de tous types (GET, POST, PUT, DEL…) mais même si on a augmenté l'historique de ligne de commande, les récupérer et les créer est un peu fastidieux. C'est ce qui fait le succès d'outils avancés comme le très répandu [[https://www.postman.com/|postman]] auquel je préfère [[https://insomnia.rest/|Insomnia]], qui est en open source [[https://github.com/Kong/insomnia|sources sur github]], ou encore [[https://docs.usebruno.com/introduction/what-is-bruno|Bruno]], aussi OSS On peut charger le logiciel, dans sa version pour Ubuntu : https://updates.insomnia.rest/downloads/ubuntu/latest?&app=com.insomnia.app&source=website ===== Utilisation ===== Pour une requête POST vers une fonction de web-service, il faut - évidemment préciser le type de requête POST, - préciser l'url : en dev, ce sera généralement localhost:830x/rpc/nom_fonction (où il faut ajuster le x du port et le nom de la fonction. - puis au niveau du premier onglet, //Body//, basculer sur //JSON// et renseigner les paramètres JSON à transmettre, qui dépendent de ce qu'attend la fonction, - pour l'onglet //Auth//, on bascule sur //Bearer Token// et il suffit de coller le token en face du champ ainsi nommé (pas de //prefix//), - pour l'onglet //Header//, il y a par défaut //Content-Type//: //application/json//, il faut ajouter //prefer//: //params=single-object// pour pouvoir passer l'objet JSON en paramètre unique même s'il en comporte plusieurs. Un onglet Docs permet de documenter la requête, un clic-droit dans la colonne de gauche permet aussi de définir le nom, le plus simple étant de mettre le nom de la fonction. Après exécution (//SEND//, raccourci Ctrl + entrée), on doit récupérer un //200 OK// sur fond vert et l'identifiant de retour de la fonction, par exemple l'identifiant de l'entrée ajoutée. ==== Récupérer la requête cUrl ==== Si on fait un clic-droit sur une requête, on peut cliquer //Generate Code// puis récupérer la requête cUrl (//Shell/////cURL//)… et on peut aussi récupérer le code PHP (//PHP/////cURL//) ===== Voir aussi ===== [[:informatique:curl]]