En suivant les instructions du lien ci-dessous, j'ai construit avec succès une API REST pour mon application Django: http://Django-rest-framework.org/tutorial/quickstart .
Je peux le tester en procédant comme suit depuis l'invite Unix:
curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/
Ça marche :)
Cependant, je voudrais utiliser l'extension Chrome Advanced Rest Client pour tester cette même fonctionnalité. J'ai installé l'extension, mais je ne sais pas où/comment mettre les champs. Quand je fais mon hypothèse (comme vous pouvez le voir sur la capture d'écran), il la rejette en disant "Les informations d'authentification n'ont pas été fournies"
Comment/où dois-je spécifier mes paramètres dans l'API REST?
La possibilité de découverte est décevante, mais la manière dont Advanced Rest Client gère l’authentification de base est plutôt intelligente. Le raccourci mentionné par Abraham ne fonctionnait pas pour moi, mais une petite fouille a révélé comment il s'y prend.
La première chose à faire est d’ajouter l’en-tête Authorization
:
Ensuite, une petite chose astucieuse apparaît lorsque vous vous concentrez sur l'entrée value
(notez le champ "construction" en bas à droite):
En cliquant dessus, une boîte apparaîtra. Il fait même OAuth, si vous voulez!
Tada! Si vous laissez le champ de valeur vide lorsque vous cliquez sur "Construire", cela ajoutera la partie Basic
(je suppose que cela ajoutera également le nécessaire OAuth, mais je ne l'ai pas fait. essayez pas, car mes besoins actuels étaient pour l’authentification de base), vous n’avez donc pas besoin de faire quoi que ce soit.
Sur la capture d'écran, je peux voir que vous souhaitez transmettre les valeurs "utilisateur" et "mot de passe" au service. Vous avez envoyé les valeurs de paramètre dans la partie d'en-tête de la demande qui est erronée. Les valeurs sont envoyées dans le corps de la demande et non dans l'en-tête de la demande. De plus, votre syntaxe est fausse. La syntaxe correcte est la suivante: {"user":"user_val","password":"password_val"}.
Vérifiez également quel est le type de contenu. Il doit correspondre au type de contenu que vous avez défini pour votre service.
Cela semble être une très vieille question, mais je réponds de manière à pouvoir aider les autres. Vous pouvez spécifier les variables dans le deuxième écran de la section formulaire, comme indiqué ci-dessous ou au format RAW, en ajoutant les variables comme indiqué dans la deuxième image.
Si votre variable et vos valeurs de variable sont valides, vous devriez voir une réponse réussie dans la section Réponse.
Le format de raccourci généralement utilisé pour l'authentification de base est http://username:[email protected]/path
. Vous voudrez également inclure l'en-tête accept dans la demande.
dans la section d'en-tête, vous devez écrire
Autorisation: Base aG9sY67890vbGNpbQ ==
où chaîne après base est la valeur de codage 64 bits de votre nom d'utilisateur: mot de passe. L'exemple php d'obtention des valeurs d'en-tête est: echo "Autorisation: Basic". base64_encode ("myUser: myPassword");
n.b: J'ai supposé que votre méthode d'authentification était basique. qui peut être différent aussi.
Avec la dernière demande ARC for GET avec authentification, il est nécessaire d’ajouter un en-tête brut nommé Authorization: authtoken.
S'il vous plaît trouver la capture d'écran Obtenir une demande avec authentification et paramètres de requête
Pour ajouter un paramètre de requête, cliquez sur la flèche déroulante située à gauche de la zone URL.
Le moyen le plus simple de surmonter ce problème d'authentification consiste à voler un jeton d'authentification à l'aide de Fiddler.
Pas
Cliquez sur le bouton ENVOYER et les résultats seront récupérés.