Comment tester le RESTE de l'API à l'aide de google Chrome extension “Advanced Client Rest”
En suivant les instructions sur le lien ci-dessous, j'ai réussi à construire une API REST pour mon application Django: http://django-rest-framework.org/tutorial/quickstart.
Je peux tester en faisant ce qui suit à partir de l'invite Unix:
curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/
Il fonctionne 🙂
Cependant, je voudrais utiliser l'extension Chrome Avancé Reste Client pour tester cette fonctionnalité.
J'ai installé l'extension, mais je ne sais pas où/comment mettre les champs. Quand je fais mon instruits deviner (comme vous pouvez le voir dans la capture d'écran), il rejette en disant: "l'Authentification des informations d'identification n'ont pas été fournies"
Comment/où dois-je indiquer mes paramètres de l'API REST?
Vous devez vous connecter pour publier un commentaire.
La détection est triste, mais c'est assez astucieux comment Avancé Reste Client gère l'authentification de base. Le raccourci abraham mentionné ne fonctionne pas pour moi, mais un peu farfouillé a révélé comment il le fait.
La première chose que vous devez faire est d'ajouter le
Authorization
en-tête:Puis, une chouette petite chose apparaît lorsque vous vous concentrez le
value
d'entrée (notez le "construire" case en bas à droite):Cliquant sur afficher la boîte. Il n'a même OAuth, si vous le voulez!
Tada! Si vous laissez le champ de valeur vide lorsque vous cliquez sur "construire", il va ajouter de la
Basic
part (je suppose qu'il va également ajouter la nécessaire OAuth des choses, mais je n'ai pas essayer, comme pour mes besoins ont été pour l'authentification de base), de sorte que vous n'avez pas besoin de faire quoi que ce soit.De la capture d'écran je vois que vous voulez passer "utilisateur" et "mot de passe" valeurs pour le service. Vous devez envoyer les valeurs des paramètres dans l'en-tête de requête de la partie qui est faux.
Les valeurs sont envoyées dans le corps de la requête et non pas dans l'entête de la requête.
Aussi votre syntaxe est incorrecte.
La syntaxe correcte est:
{"user":"user_val","password":"password_val"}.
Également vérifier quel est le type de contenu. Il doit correspondre au type de contenu que vous avez défini pour votre service.
Cela semble une très vieille question, mais je suis en fournissant une réponse, de sorte qu'il peut aider les autres.
Vous pouvez spécifier les variables dans le second écran, dans la section du formulaire, comme indiqué ci-dessous ou dans la
Le format RAW en ajoutant les variables comme indiqué dans la deuxième image.
Si votre variable et les valeurs des variables sont valides, vous devriez voir une réponse réussie dans la section réponse.
Le raccourci format généralement utilisé pour l'authentification basique est
http://username:[email protected]/path
. Vous voulez également inclure l'en-tête accept dans la demande.dans la section d'en-tête que vous avez à écrire
Authorization: Basic aG9sY67890vbGNpbQ==
où la chaîne après de base est le 64 bits de codage de la valeur de votre nom d'utilisateur:mot de passe.
en php par exemple d'obtenir les valeurs d'en-tête est:
echo "Authorization: Basic" . base64_encode("myUser:myPassword");
n.b: j'ai supposé que votre méthode d'authentification de base. qui peut être différente.
Ajouter un en-tête d'autorisation et cliquez sur le bouton stylo à entrer le nom d'utilisateur et mots de passe
Le moyen facile d'obtenir plus de ce problème d'authentification est par le vol de jeton d'authentification à l'aide de Fiddler.
Étapes
authentification requise.
valeur de paramètre.
valeur du cookie à partir de la carte de clip.
Cliquez sur le bouton ENVOYER et il doit aller chercher les résultats.
Avec le dernier ARC pour la requête GET avec l'authentification besoin d'ajouter
un raw en-tête nommé Autorisation:authtoken.
Veuillez trouver les capture d'écran Requête Get avec l'authentification et la requête params
Pour ajouter une Requête param cliquez sur la flèche déroulante sur le côté gauche de la zone URL.