59 votes

Comment déboguer les services RESTful ?

Je cherche un moyen facile de déboguer les services RESTful. Par exemple, la plupart des applications web peuvent être déboguées à l'aide d'un navigateur web ordinaire. Malheureusement, ce même navigateur ne me permet pas de tester HTTP PUT, DELETE et, dans une certaine mesure, HTTP POST.

Je ne cherche pas à automatiser les tests. J'aimerais soumettre les nouveaux services à un contrôle rapide, idéalement sans avoir à écrire mon propre client.

35voto

Peter Hilton Points 10580

Utilisez un outil "client REST" existant qui permet d'inspecter facilement les demandes et les réponses, par exemple RESTClient .

0 votes

Ces deux outils semblent extrêmement intéressants, merci pour les indications !

0 votes

J'utilise le premier, il fonctionne très bien pour moi.

0 votes

J'ai écrit un plugin client REST appelé Requester pour Sublime Text, github.com/kylebebak/Requester . Il est inspiré de HTTPie et Postman. Il est très puissant et facile à utiliser, et il est multiplateforme. Si vous n'êtes pas amoureux de votre client HTTP, il vaut vraiment la peine d'être essayé.

15voto

Avi Flax Points 14898

Dans mon entreprise, nous utilisons une variété d'outils et d'approches différents pour tester les services RESTful :

  • Nous écrivons cURL scripts - essentiellement une commande unique enregistrée dans un fichier. Un fichier par ressource et par méthode. Pour PUT et POST, nous aurons généralement des fichiers contenant les représentations à envoyer à côté du scripts cURL. Par exemple, pour une ressource de type boîte aux lettres, nous pourrions avoir un fichier nommé mailbox_post.cmd qui pourrait contenir la ligne curl -v -X POST -u username -H 'Content-Type:application/xml' -d @mailbox_post.xml http://service/mailbox . Nous aimons cette approche parce que nous finissons par créer une collection de tests qui peuvent être exécutés par lots, ou du moins être transmis entre testeurs, et utilisés pour les tests de régression.

  • Nous utilisons cURL et RESTClient pour les tests ad-hoc

  • Nous avons fait en sorte que le service serve du XHTML par défaut, pour qu'il soit navigable, et nous avons ajouté des ressources de formulaires, pour que le service soit partiellement ou totalement testable à l'aide d'un navigateur. Ceci a été partiellement inspiré par certaines parties de Services Web RESTful Les auteurs montrent que la frontière entre les services web et les applications web ne doit pas nécessairement être aussi solide et stricte qu'on le pense généralement.

  • Nous écrivons les tests fonctionnels comme Groovy en utilisant les fermetures Restlet et exécutez les tests avec un test runner Groovy script. C'est utile parce que les tests peuvent avoir un état, s'appuyer les uns sur les autres et partager des variables, le cas échéant. Nous trouvons que l'API de Restlet est simple et intuitive, et si facile d'écrire des requêtes HTTP rapides et de tester les réponses, et c'est encore plus facile lorsqu'elle est utilisée dans Groovy. (J'espère partager cette technique, y compris l'exécuteur de tests script, sur notre blog bientôt.)

13voto

Yasin Okumus Points 712

Facteur une extension Google Chrome, peut s'avérer utile.

Editer des années plus tard : Egalement le site web de l'url au cas où le lien de l'extension Chrome serait modifié : www.postman.com

0 votes

Il s'agit d'une extension relativement nouvelle, mais simplement pour la possibilité d'enregistrer des ensembles de demandes, et de les gérer / partager + une interface agréable, je la recommande très fortement.

0 votes

Postman permet également de télécharger des requêtes de fichiers en tant que données multipart.

0 votes

Lien mort. Je suppose cette application c'est ça ? Je ne suis pas sûr.

5voto

vamin Points 697

Un outil que j'ai trouvé utile si vous utilisez OS X Leopard :

Client HTTP

Il s'agit d'un programme GUI très simple qui vous permet de créer des requêtes http vers une ressource et de visualiser la réponse.

4voto

Gulzar Nazim Points 35342

Vous pouvez utiliser l'outil de fiddler Compositeur pour déboguer services reposants ..

Mis à jour JD 12 sep 2013 : Bâtisseur de repos s'appelle désormais Compositeur .

0 votes

Le lien vers Request Builder ci-dessus est cassé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X