3 votes

Interface de navigation Django REST

J'écris un ensemble de services REST pour un projet Django. J'utilise django-rest-framework depuis un certain temps. A cause de ses fonctionnalités limitées, j'ai dû passer à django-piston que j'apprécie beaucoup.

Cependant, django-rest-framework avait une fonctionnalité vraiment intéressante - il était capable d'afficher une interface de type administrateur pour tester les services créés à partir du navigateur. C'est tout simplement formidable pour le débogage. C'est très simple : un formulaire est affiché pour chaque méthode HTTP comme "GET", "POST", etc. Il y a également une liste déroulante des types de contenu disponibles et un champ de texte pour saisir les données à envoyer.

De mon point de vue, il ne s'agit pas vraiment d'une fonctionnalité directement liée à un cadre REST particulier. Il ne s'agit même pas nécessairement de Django. Tout cela pourrait être réalisé simplement en utilisant HTML + JS, ou un site web externe.

Ma question est la suivante : qu'utilisez-vous pour les tests manuels / le débogage des services web ? Pourriez-vous m'indiquer un extrait HTML ou une application Django qui ferait la chose décrite ?

8voto

jsw Points 1279

Cela peut sembler évident, mais.. : Pourquoi ne pas utiliser le client de test de Django (django.test.client.Client) ? Ainsi, au lieu de " déboguer " manuellement dans votre navigateur, vous pouvez écrire des tests unitaires avec des attentes et en tirer profit plus tard.

par exemple

from django.test.client import Client
client = Client()
resp = client.put('/employee/2/', data={'email': 'here@there.com'}, follow=True)
#... etc

3voto

Tom Christie Points 8729

En tant qu'auteur de django-rest-framework, ce serait bien de vous demander quelles sont les fonctionnalités qui mériteraient d'être développées :) (j'ai bien sûr quelques idées personnelles et des domaines sur lesquels je prévois de travailler, mais ce serait vraiment bien d'avoir le point de vue d'un utilisateur).

Vous avez tout à fait raison de dire que le navigateur API n'est pas limité à un cadre particulier. Pour moi, c'est la grande affaire de DRF et j'aimerais que d'autres frameworks d'API adoptent une approche similaire. L'un des avantages supposés des API RESTful est qu'elles devraient être auto-descriptives, et il me semble contre-intuitif que tant d'API Web que nous construisons aujourd'hui ne soient pas navigables sur le Web.

Oh, et je suis tout à fait d'accord avec jsw en ce qui concerne les tests d'API Web dans django, je n'utiliserais pas l'API navigable du framework pour remplacer les tests automatisés.

0voto

Saddam Meshaal Points 139

J'ai eu le même problème et il a été facilement résolu en se déconnectant de la page d'administration de ce projet.

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