Pour faire cette application, je vous propose d'utiliser l'API de Forismatic. Cette API permet de récupérer des citations générées de manière aléatoire.
Dans ce chapitre, vous allez découvrir comment vous frotter à une API que vous ne connaissez pas !
Découvrez Postman
Pour explorer une API que vous ne connaissez pas, je vous suggère d'utiliser le logiciel Postman. Postman est un logiciel très pratique, car il permet de lancer des requêtes sur les URL de votre choix en indiquant tous les paramètres que vous voulez, et sans écrire une seule ligne de code !
L'intérêt, c'est que cela vous permet de tester le comportement d'une API sans avoir à coder les appels réseaux avant. Ce prétravail vous fera gagner beaucoup de temps ensuite lorsque vous développerez dans l'application.
Installez Postman
Pour installer Postman, rien de plus simple ! Rendez-vous simplement à cette adresse : https://www.getpostman.com/apps. Ensuite, choisissez la version pour Mac et cliquez sur Download.
Découvrez l’interface de Postman
Lorsque vous ouvrez Postman pour la première fois, vous arrivez sur ceci :
En haut, vous avez un champ qui vous permet de rentrer une URL ; vous pouvez également choisir la méthode HTTP, qui est à GET dans la capture d'écran ci-dessus. Vous pouvez aussi modifier les paramètres de la requête juste en dessous.
Ensuite en cliquant sur Send, vous recevrez la réponse dans la partie basse de l'interface.
À vous de jouer !
Je vous invite maintenant à jeter un œil à l'API de Forismatic ici, et à lancer un appel à notre API afin de récupérer une citation aléatoire dans Postman.
Vous avez tout ce qu’il vous faut pour y arriver par vous-même !
Testez l’API Forismatic
Que vous ayez réussi ou non, l'essentiel c'est d'avoir essayé ! Regardons maintenant ensemble comment faire.
Tout d'abord, vous avez noté que cette API ne propose qu'une seule URL (on parle aussi d’endpoint) : http://api.forismatic.com/api/1.0/. Par ailleurs, elle fonctionne aussi bien avec les méthodes GET et POST. Dans notre cas, nous allons essayer la méthode POST car c’est la méthode utilisée dans l’exemple fourni.
Voilà ce que ça donne du coup pour l'instant en haut de l'interface :
Maintenant, nous allons nous intéresser aux paramètres de la requête. Selon la documentation, voici ceux que nous pouvons préciser :
method=getQuote — method name to invoke format=<format> — one of the server supported response formats key=<integer> — numeric key, which influences the choice of quotation, the maximum length is 6 characters lang=<string> — response language ("ru" or "en") jsonp=<string> — callback function name, used for jsonp format only (usage example)
Voyons ceux qui nous intéressent :
method : il a l'air obligatoire et c'est celui qui nous permet de récupérer la citation avec la valeur getQuote ;
format : le type de format que l'on souhaite pour la réponse. La documentation précise les différents formats disponibles. Je vous propose qu'on choisisse JSON car c'est un format de donnée très populaire dans le développement mobile ;
key : ce paramètre n'est pas très clair, et nous allons du coup essayer sans ;
lang : il y a deux langages disponibles, on va favoriser l'anglais (sauf si vous parlez russe !), et choisir du coup la valeur “en” ;
JSONP : nous n'avons pas besoin de ça non plus puisqu'on va utiliser du JSON et non du JSONP.
Du coup, nous allons indiquer 3 paramètres :
method:getQuote
format:json
lang:en
Ce qui donne ceci dans Postman (on utilise l'onglet Body pour indiquer nos paramètres) :
Vous n'avez plus qu'à cliquer sur Send ! Et vous devriez voir la réponse apparaître dans le bas de l'interface de Postman :
Et voilà ! Nous avons récupéré une citation aléatoire sans avoir écrit une seule ligne de code ! Cela nous permet de séparer la compréhension du fonctionnement de l'API d'une part, de la fiabilité de notre code d'autre part. Ainsi, si ça ne marche pas, on sait qui est le fautif !
En plus, cela nous permet d'avoir déjà des informations intéressantes sur le format de la réponse. On sait ainsi que deux paramètres risquent de nous intéresser : quoteText
et quoteAuthor
.
En résumé
Avant de vous lancer dans le code, testez votre API avec un outil comme Postman.
Postman est un outil qui vous permet de tester des API sans écrire de code.
Pour utiliser l’API Forismatic avec Postman :
entrez l’URL ;
sélectionnez le type de méthode HTTP sur
POST
car nous avons des paramètres ;entrez les paramètres
method
,format
etlang
dans le body sous la formeform-data
;appuyez sur
Send
pour lancer la requête.
Vous savez maintenant comment utiliser l’API de Forismatic pour récupérer des citations aléatoires ! Dans le prochain chapitre, nous allons découvrir URLSession
: la classe qui permet de gérer les appels réseaux en Swift.