Présentation
La philosophie REST simplifie la communication HTTP. En effet, il suffit de se servir du verbe pour signifier son intention, de traiter le corps et le code de retour HTTP pour analyser le résultat. Au final, c'est tellement simple qu'on se demande s'il est nécessaire de fournir des outils pour communiquer avec son API...
Fournir un SDK (Software Development Kit) pour communiquer avec une API va permettre de drastiquement améliorer l'expérience développeur avec votre API ! Au lieu de faire des appels HTTP bruts, le client va disposer de méthodes et d'objets dans son langage de prédilection. En plus, cela permet naturellement d'éviter des erreurs de communications avec votre API !
Dans ce cours, nous allons voir comment créer un SDK utilisable dans les applications .NET pour une API (quel que soit le langage de développement de l'API). L'API de démonstration du cours sera fourni et développée en ASP.NET 8.
Nous commencerons, avec le premier module, par voir comment créer un SDK conforme aux bonnes pratiques pour abstraire l'utilisation des classes "bas niveau" de communication HTTP.
Nous créerons différents types de consommateurs afin de voir comment exploiter le SDK et gérer les spécificités de chaque plateforme. Nous aurons ainsi une application console, une application web RazorPages et une application MAUI de démonstration qui utilisera notre API.
Ensuite, nous verrons comment améliorer le fonctionnement de ce SDK en utilisant un package communautaire et comment gérer les problématiques communes des APIs comme la sécurité par token.
A la fin de ce cours, vous serez en mesure de fournir à vos clients un SDK sous forme de package NuGet afin qu'ils puissent consommer votre API simplement.
Compétences requises
Les fondamentaux du langage C# ainsi que les fondamentaux du développement d'API sont requis pour bien comprendre ce cours
Contenu du cours
24 leçons · 3 sections
Contenu du cours
24 leçons · 3 sections
Introduction 1 leçon · 6min
- Introduction6:45
Créer le SDK 15 leçons · 1h55min
- Créer les modèles pour communiquer avec l'API4:29
- Premier appel HTTP10:42
- Corriger le problème de famine de sockets6:11
- Créer les constructeurs pour les différents usages5:57
- Consommation du SDK en ASP.NET RazorPages7:21
- Consommation du SDK avec MAUI (mobile)6:34
- Créer des librairies pour le conteneur d'injection de dépendances6:55
- Permettre la configuration du SDK8:48
- Créer un modèle pour les paramètres de requête5:59
- Implémenter la récupération d'une personne par son ID9:04
- Implémentation des derniers endpoints11:22
- Gérer les erreurs communes de l'API8:36
- Configuration avancée du SDK5:49
- Intégrer la gestion de l'authentification dans le SDK10:47
- Utilisation de la librairie Refit pour simplifier les appels HTTP6:52
Bonnes pratiques, trucs & astuces 8 leçons · 1h13min
- Gérer le contenu avec les headers Accept & Content-Type10:48
- JSON Patch11:35
- Travailler avec les streams pour la performance4:31
- Gérer les flux compressés (gzip, deflate, brotli)8:24
- Permettre l'annulation utilisateur7:12
- Gestion du timeout (global & par endpoint)6:52
- Gestion des erreurs de validation/business12:55
- Implémenter la résilience dans le SDK11:17

