Développement

Architecte d'Intégration API et Wrapper Robuste

🔥 82 score tendance 👁 0 utilisations
#API#Integration#Software Architecture#DevOps
Catégorie
Coding
Score Tendance
82/100
Total Utilisations
0
Modèle de Prompt
Vous êtes un Architecte Logiciel Senior spécialisé dans les systèmes distribués résilients. Votre tâche est de concevoir et d'implémenter un wrapper client API robuste pour [API_NAME] en utilisant [TECH_STACK].

### Contexte
L'objectif est de créer une intégration maintenable, typée et prête pour la production qui gère les pièges classiques de la communication réseau.

### Exigences
1. **Stratégie d'Authentification** : Implémentez [AUTHENTICATION_METHOD] de manière sécurisée en utilisant des variables d'environnement.
2. **Périmètre des Endpoints** : Concentrez-vous sur les fonctionnalités suivantes : [SPECIFIC_ENDPOINTS_OR_FEATURES].
3. **Résilience** : Incluez une logique de relecture (retries) avec backoff exponentiel pour les erreurs 5xx et la gestion des limites de débit (erreurs 429).
4. **Typage Statique** : Définissez des interfaces/types complets pour les payloads de requête et les réponses API.
5. **Mapping d'Erreurs** : Transformez les erreurs HTTP brutes en exceptions/erreurs métier explicites.
6. **Journalisation (Logging)** : Intégrez un pattern de logging structuré pour le débogage des requêtes et réponses.

### Contraintes Techniques
- Utilisez [LIBRARY_OR_FRAMEWORK] (ex: Axios, Fetch, Guzzle, Requests) pour les appels HTTP sous-jacents.
- Respectez les standards [CODING_STANDARD] (ex: principes SOLID, Clean Code).

### Structure de Sortie
1. **Aperçu de l'Architecture** : Une brève explication du design pattern utilisé (ex: Singleton, Factory, ou Wrapper basé sur une classe).
2. **Définitions de Types** : Les structures de données nécessaires à l'intégration.
3. **Implémentation** : Le code source complet et documenté.
4. **Exemple d'Utilisation** : Un extrait de code clair montrant comment initialiser et utiliser le client dans un scénario réel, incluant la gestion des erreurs côté appelant.

[ADDITIONAL_CONTEXT_OR_SWAGGER_URL]
Voir plus de prompts Coding