Fiche 07.04 — APIClient simple : endpoints, headers, erreurs
Objectif
Savoir centraliser les appels réseau dans un APIClient simple et professionnel. Le but est d’éviter de répéter URLSession, les headers, le décodage JSON et la gestion des erreurs dans tous les services.
1. Pourquoi un APIClient ?
Sans APIClient, chaque service peut répéter :
Un APIClient permet de regrouper cette logique.
2. Erreurs réseau typées
C’est mieux que de renvoyer seulement URLError partout.
3. Endpoint simple
Exemples :
4. APIClient
5. AnyEncodable simple
Swift ne permet pas d’encoder directement un Encodable existentiel dans certains cas. On peut utiliser un wrapper.
Pour un cours, retiens surtout l’idée : l’APIClient encode le body et décode la réponse.
6. Utilisation dans un service
Le service devient très court.
7. Token provider
Exemple :
Le client réseau ne sait pas comment le token est stocké. Il demande juste une valeur.
Points à connaître
Un APIClient doit rester simple. Ne crée pas une architecture réseau énorme si l’app est petite.
Centralise au minimum : base URL, headers, status codes, décodage, erreurs.
Si l’équipe utilise Alamofire, l’idée reste la même : centraliser les appels dans une couche réseau.
Résumé
- Un
APIClientévite la duplication réseau. - Un
Endpointdécrit path, méthode et auth. - Les erreurs typées rendent le code plus clair.
- Les services utilisent l’APIClient au lieu de manipuler
URLSessionpartout. - Le token peut être injecté via un provider.