Aller au contenu principal

HTTP, accès réseau client et JSON

Avant la séance : théorie (2h)

Vous devez regarder les videos suivantes:

code accès simple

objet JSON et liste

Envoi POST et gestion des erreurs

Gestion des cookies

Pour avoir un exemple de sérialisation des dates en JSON vous pouvez regarder les TODO dans l'exemple suivant:

Gestion des dates

Séance 1

On expliquera comment envoyer une requête HTTP aux web services des exercices et réceptionner le résultat.

On verra comment mettre en place des points d'arrêt et autres outils pour déboguer des appels réseau qui ne marchent pas encore.

Vous travaillerez sur les exercices.

Séance 2

On expliquera à quoi servent les différentes classes de transfert et comment fonctionne la generation de code pour JSON.

On fera une démo sur la personnalisation de la sérialisation d'une propriété qui nous sera utile pour sérialiser les dates.

Vous finirez vos exercices si nécessaire et vous avancerez les appels HTTP et classes de transfert pour votre TP.

Exercices

Exercice http_simple

Vous trouverez à l'url https://4n6.azurewebsites.net/exos/long/double/4 un web service qui double la valeur du nombre qu'on lui passe.

Tu dois démontrer un appel avec succès à ce web service dans une application Flutter en envoyant la valeur d'un nombre et en affichant son double dans l'interface.

Exercice api_github

Créez un projet appelé api_github.

Votre projet doit avoir un écran avec un champ texte, un bouton et une liste. On rentre le nom d'utilisateur dans le champ texte, on appuie sur le bouton pour envoyer la demande à l'API et au retour de la liste, elle doit s'afficher dans l'interface graphique.

Dans la liste on doit voir dans un ListTile le nom (name) du repo et s'il est privé ou non.

L'URL pour les données est la suivante (exemple pour l'utilisateur departement-info-cem)

https://api.github.com/users/departement-info-cem/repos