Académique Documents
Professionnel Documents
Culture Documents
API REST
Table des
matières
Objectifs
- Postman est un très puissant et célèbre outil pour faire des requêtes sur des API. Il existe en version
desktop installable ou en application extension chrome.
Le site officiel est : https://www.postman.com.
lien de téléchargement officiel : https://www.postman.com/downloads
Autres liens :
https://app.getpostman.com/app/download/win64
https://www.01net.com/telecharger/windows/Internet/internet_utlitaire/fiches/152985.html
https://postman.fr.softonic.com
- Son interface est similaire à celle-ci :
- En mode extension chrome, après installation on y accède en allant dans les extensions de Google Chrome
ou bien en saisissant dans chrome chrome://apps/ , puis en cliquant sur l'icône de Postman pour l'ouvrir.
C'est aussi une bonne alternative à Postman pour faire des requête http sur des API REST.
lien de téléchargement :
https://install.advancedrestclient.com/install
En mode extension chrome : https://chrome.google.com/webstore/detail/advanced-rest-
client/hgmloofddffdnphfgcellkdfbfbjeloo
HTTPRequester, l'add-on pour Firefox
Si vous travaillez sur Firefox, cet add-on vous permet de faire des requêtes HTTP/S simplement. Le tout
directement à partir de la barre d'outils du navigateur ou de tools.
lien : https://addons.mozilla.org/en-US/firefox/addon/http-request-maker
Curl
C'est un puissant outil en ligne de commande utilisé dans l'univers Linux ou Unix pour faire des requêtes http. Il
peut aussi être utilisé sous windows.
Liens :
https://curl.se/download.html
https://www.thewindowsclub.com/how-to-install-curl-on-windows-10
https://devstory.net/11617/installer-curl-sur-windows
son
Interroger une API Rest avec l'outil POSTMAN
Interroger une API Rest avec l'outil POSTMAN
Chaque requête a une structure spécifique qui a cette forme : Verbe HTTP + URI + Version
- HTTP + Headers + Body (facultatif)
- Le body permet de formuler une requête, il n'est utilisé qu'avec PUT (mise à jour) ou POST
(création). Il contient les données réelles de la ressource que vous essayez de créer ou de mettre à
jour. Les données sont envoyées généralement sous format JSON.
- La réponse peut contenir un message d'erreur, le body peut contenir un message d'erreur suivant :
- Dans le cas d'une requête correcte, nous avons le code de retour 200. S'il y a un échec ou une erreur
d'adresse, on a le code de retour 404.
En général, les règles de base pour les codes de réponse HTTP sont les suivantes :
100+ ➡ Information
200+ ➡ Succès
300+ ➡ Redirection
400+ ➡ Erreur client
500+ ➡ Erreur serveur
Exercice : Activité d'auto-évaluation 1
Exercice : Activité d'auto-évaluation 1
POSTMAN
POSTAM
httpsReq
Exercice : La forme d'une requête HTTP
Une requête HTTP est de la forme :
1 // Script en JS
2 let requestURL = 'https://mdn.github.io/learning-
area/javascript/oojs/json/superheroes.json';
3 let request = new XMLHttpRequest();
4 request.open('GET', requestURL);
5 request.responseType = 'json';
6 request.send();
7
8 request.onload = function() {
9 const reponse = request.response;
10 ...
11 }
1 // Script en jQuery
2 $(document).ready(function () {
3
4 // données à passer à la requête si néccessaire au format json
5 //equivaut dans le cas de GET à ?nom=Koffi&age=27
6 var rData = { nom: 'Koffi', age: 27 }
7 //fonction à appeler pour le traitement à faire suite à l'appel de l'API
8 function onsuccess(data, status, jqxhr) {
9 console.log(data);
10 }
11
12 // au niveau du 'type' on a soit GET, POST, DELETE, PUT
13 // ex d'url: https://api.github.com/users/yao
14 $.ajax({ url: 'http://mondomaine/api/collection',
15 data: params,
16 datatType: 'json',
17 type: 'GET'
18 success: onsuccess
19 });
20 });
1 // Ex code
2 fetch("https://www.une-url.com")
3 .then(response => response.json())
4 .then(response => alert(JSON.stringify(response)))
5 .catch(error => alert("Erreur : " + error));
response.json() renvoie également une promesse contenant la réponse à votre demande en JSON. On utilise
JSON.stringify() pour transformer notre objet JSON en une chaine JSON et on affiche cette chaine.
Comme on l'a dit plus tôt, la méthode fetch() accepte un deuxième argument. Cet argument est un objet qui va
nous permettre de définir les options de notre requête. On va pouvoir définir les options suivantes :
- method : méthode utilisée par la requête. Les valeurs possibles sont GET (défaut), POST, etc.) ;
- headers : les en-têtes qu'on souhaite ajouter à notre requête ;
- body : un corps qu'on souhaite ajouter à notre requête ;
- referrer : un référant. Les valeurs possibles sont "about:client" (valeur par défaut), "" pour une absence de
référant, ou une URL ;
- referrerPolicy : spécifie la valeur de l'en-tête HTTP du référent. Les valeurs possibles sont no-referrer-
when-downgrade (défaut), no-referrer, origin, origin-when-cross-origin et unsafe-url ;
- mode : spécifie le mode qu'on souhaite utiliser pour la requête. Les valeurs possibles sont cors (défaut),
no-cors et same-origin ;
- credentials : les informations d'identification qu'on souhaite utiliser pour la demande. Les valeurs possibles
sont same-origin (défaut), omit et include ;
- cache : le mode de cache qu'on souhaite utiliser pour la requête. Les valeurs possibles sont default (défaut),
no-store, reload, no-cache, force-cache et only-if-cached ;
- redirect : le mode de redirection à utiliser. Valeurs possibles : follow (défaut), manual, error ;
- integrity : contient la valeur d'intégrité de la sous-ressource de la demande. Valeurs possibles : "" (défaut)
ou un hash ;
- keepalive : permet à une requête de survivre à la page. Valeurs possibles : false (défaut) et true ;
- signal : une instance d‘un objet AbortSignal qui nous permet de communiquer avec une requête fetch() et
de l'abandonner.
1 function addItem() {
2 const uri = 'api/TodoItems';
3 const item = {
4 isComplete: false,
5 name: "etude"
6 time: 3
7 };
8
9 fetch(uri, {
10 method: 'POST',
11 headers: {
12 'Accept': 'application/json',
13 'Content-Type': 'application/json'
14 },
15 body: JSON.stringify(item)
16 })
17 .then(response => {
18 const data = response.json()
19 // Traitement à faire
20 })
21 .catch(error => console.error('Ajout imposible', error));
22 }
Exercice : Activité d'auto-évaluation 2
Exercice : Activité d'auto-évaluation 2
par POSTAM
par POSTMAN
en Javascript
en HTML
en Pyhton
en JSON
Exercice
L'API permet d'effectuer des requêtes http en JavaScript
Travaux pratiques : Interroger l'API REST Restcountries avec Postman
Travaux pratiques : Interroger l'API REST Restcountries avec Postman
Travaux pratiques :
Interroger l'API REST V
Restcountries avec
Postman
Présentation de L'Api restcountries
Présentation de L'Api restcountries
- L'api restcountries permet d'avoir les informations sur tous les pays du monde.
- L'url est : https://restcountries.eu
- C'est est une plateforme open source également qui met à disposition des développeurs, des données sur
chaque pays du monde à travers une API REST telles que:
- Le nom original du pays;
- La traduction du nom en d'autres langues telles que le Français, l'Allemand, l'Italien ,etc.
- La capitale;
- La superficie;
- La population;
- Les pays limitrophes;
- La devise du pays;
- etc.
Dans cette section nous allons utiliser l'outil postman pour interagir avec l'api restcountries.
On lance l'application Postman et initie unee nouvelle requête http soit en cliquant sur "new" ou "new http
request".
puis son saisie l'url https://restcountries.eu/rest/v2/all dans la barre d'adresse de postman. On s'assure que la
méthode GET est sélectionnée dans la liste des méthode à gauche de la barre d'adresse. Puis en valide en cliquant
sur le bouton send. On obtient la liste des pays dans l'onglet Body en bas de la bar de recherche.
Il est aussi possible de faire dans postman des réquête d'ajout (POST), de modification (PUT) et de suppression
(DELETE).
Mais en ce qui concerne l'api restcountries, nous n'avons pas le droit de faire des ajouts, modifications et
suppressions de pays.
Par exemple si on veut supprimer le pays ayant la capital yamoussoukro, on peut avoir une requête comme dans
l'image ci-dessous. Remarquez que la méthode DELETE est sélectionnée à gauche dans la liste des méthodes se
trouvant à gauche de la barre d'adresse.
Dans le cas d'un ajout c'est la méthode POST qui est utilisée et on définie sous forme d'objet JSON dans l'onglet
Body en bas de la barre d'adresse les informations concernant le pays à ajouter.