3.15. Principes de base de Dart : Consommation d'API
Page 33 | Écouter en audio
Dart est un langage de programmation moderne, orienté objet et fortement typé, développé par Google. Il est utilisé pour créer des applications mobiles, Web et de bureau. L'une des fonctionnalités clés de Dart est la capacité de compiler en code natif ou en JavaScript, permettant aux applications écrites en Dart de s'exécuter sur pratiquement n'importe quel appareil. Flutter, également développé par Google, est un framework de développement d'interfaces utilisateur qui utilise Dart comme langage de programmation.
L'un des aspects les plus importants du développement d'applications modernes est la capacité à utiliser des API. Les API, ou interfaces de programmation d'applications, sont des ensembles de règles et de protocoles qui permettent à différents logiciels d'interagir les uns avec les autres. En utilisant une API, une application peut accéder à des fonctionnalités ou à des données fournies par d'autres logiciels, sans avoir besoin de connaître les détails de son implémentation.
Sur Dart, la consommation des API s'effectue généralement via le package http, qui fournit une série de fonctions de haut niveau pour l'envoi et la réception de données via le protocole HTTP. Ce package peut être ajouté au projet via le gestionnaire de packages de Dart, pub.
Pour utiliser une API dans Dart, la première étape consiste à importer le package http. Ensuite, une requête HTTP peut être envoyée à l'aide de la fonction get, post, put ou delete, selon ce qui doit être fait. Ces fonctions renvoient un objet Future, qui représente une opération qui se terminera dans le futur. Pour gérer la réponse API, il est possible d'utiliser la fonction then de l'objet Future, qui reçoit une fonction de rappel à exécuter lors de la réception de la réponse.
Voici un exemple illustrant comment utiliser une API dans Dart :
importer 'package:http/http.dart' en tant que http ;
void main() asynchrone {
var réponse = attendre http.get('https://api.example.com/items');
print('Statut de la réponse : ${response.statusCode}');
print('Corps de la réponse : ${response.body}');
}
Dans l'exemple ci-dessus, la fonction get du package http est utilisée pour envoyer une requête GET à l'API. La réponse de l'API est ensuite imprimée sur la console. Notez que le mot-clé wait est utilisé pour attendre la réponse de l'API avant de poursuivre l'exécution du programme. Ceci est nécessaire car la fonction get renvoie un objet Future.
En plus de l'état de la réponse et du corps de la réponse, il est également possible d'accéder aux en-têtes de réponse via la propriété headers de l'objet Response. Pour envoyer des en-têtes dans la requête, vous pouvez transmettre une mappe de chaînes à la fonction get, post, put ou delete.
Dans de nombreux cas, les API renvoient des données au format JSON. Pour désérialiser ces données, Dart fournit le package dart:convert, qui inclut la fonction jsonDecode. Cette fonction prend une chaîne JSON et renvoie un objet Dart qui représente les données. Pour sérialiser les données au format JSON, vous pouvez utiliser la fonction jsonEncode du même package.
Voici un exemple de désérialisation de données JSON dans Dart :
importer 'dart:convertir' ;
importer 'package:http/http.dart' en tant que http ;
void main() asynchrone {
var réponse = attendre http.get('https://api.example.com/items');
var items = jsonDecode(response.body);
pour (var élément dans les éléments) {
print('Article : ${item['name']}');
}
}
Dans l'exemple ci-dessus, la fonction jsonDecode est utilisée pour convertir le corps de la réponse, qui est une chaîne JSON, en une liste de cartes. Chaque carte représente un élément et la propriété « nom » de chaque élément est imprimée sur la console.
En conclusion, Dart fournit plusieurs outils puissants pour consommer des API, notamment le package http pour envoyer et recevoir des requêtes HTTP, et le package dart:convert pour sérialiser et désérialiser les données JSON. En combinaison avec Flutter, Dart vous permet de créer des applications riches et réactives qui peuvent interagir avec n'importe quelle API.
Répondez maintenant à l’exercice sur le contenu :
Quelle est la fonction principale du package http dans Dart et comment est-il utilisé pour consommer les API ?
Tu as raison! Félicitations, passez maintenant à la page suivante
Vous avez raté! Essayer à nouveau.
Page suivante de lebook gratuit :