Envoyer du JSON avec le package requests
Tout comme vous pouvez recevoir du texte JSON depuis la réponse d'une API, vous pouvez aussi envoyer du JSON à une API avec des requêtes POST ou PUT. Si vous utilisez l'argument json avec les méthodes request.post() et request.put(), la bibliothèque requests se charge pour vous d'ajouter tous les en-têtes nécessaires et de faire l'encodage. Pratique !
Essayons ! Saviez-vous que vous pouvez créer plusieurs playlists d'un coup avec une requête POST sur l'API /playlists ?
Il suffit de passer un tableau de playlists (chacune ayant une propriété Name) à l'API, et elle les créera toutes en une seule fois.
Cet exercice fait partie du cours
<cours>Introduction aux API en Python</cours>Instructions de l’exercice
- Passez la variable
playlistsen argument à la méthoderequests.post()pour qu'elle soit automatiquement envoyée au format JSON. - Récupérez la liste de toutes les playlists depuis l'API.
- Inspectez la réponse de la requête GET en affichant le texte JSON.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
playlists = [{"Name":"Rock ballads"}, {"Name":"My favorite songs"}, {"Name":"Road Trip"}]
# POST the playlists array to the API using the json argument
requests.post('http://localhost:3000/playlists/', ____=____)
# Get the list of all created playlists
response = requests.____('http://localhost:3000/playlists')
# Print the response text to inspect the JSON text
print(response.____)