Cas pratiques Spring

9 cas pratiques Spring disponibles. Niveaux : fondamental (3), avancé (3), expert (3).

Fait partie de : Cas pratiques d’écosystème Java

FondamentalSpring

Spring - Créer une API REST permettant de récupérer une liste de produits

On vous demande de créer une petite API REST avec Spring Boot qui expose une route permettant de récupérer une liste de produits. La liste peut être statique et retournée directement par le contrôleur. Décrivez comment vous structureriez le contrôleur et quelle annotation vous utiliseriez pour exposer cette route.

Spring BootRESTContrôleur+2
FondamentalSpring

Spring - Créer une route REST qui lit un paramètre dans l’URL

Vous devez mettre en place un contrôleur Spring Boot qui permet de récupérer un utilisateur via un identifiant passé dans l’URL (ex : /users/5). Expliquez comment vous déclareriez cette route et comment récupérer le paramètre dans votre méthode.

Spring BootRESTPathVariable+1
FondamentalSpring

Spring - Injecter un service dans un contrôleur avec Spring Boot

Votre application Spring Boot possède un service UserService chargé de gérer les utilisateurs. On vous demande de créer un contrôleur qui utilise ce service pour retourner la liste des utilisateurs. Décrivez comment vous injecteriez le service et comment vous l’utiliseriez dans votre contrôleur.

Injection de dépendancesServiceSpring Boot+2
AvancéSpring

Spring - Ajouter une validation des données d’entrée dans une API Spring Boot

Vous devez améliorer une API existante afin de valider les données reçues d’un client. Par exemple, un objet User doit obligatoirement contenir un email valide, un nom non vide et un âge supérieur à 0. Décrivez comment ajouter ces validations et comment gérer les messages d’erreur retournés à l’utilisateur.

ValidationDTOSpring Boot+2
AvancéSpring

Spring - Créer un CRUD complet pour gérer des employés avec Spring Boot et une base de données

On vous demande de développer une API Spring Boot permettant de gérer des employés avec les opérations CRUD : créer, lire, modifier et supprimer. Les données doivent être stockées dans une base de données relationnelle via Spring Data JPA. Décrivez l’architecture du projet, les principales classes à créer (entité, repository, service, contrôleur) et la manière dont elles interagissent.

Spring BootJPACRUD+3
AvancéSpring

Spring - Mettre en place un système de gestion centralisée des erreurs dans Spring Boot

Une API Spring Boot contient plusieurs endpoints et peut générer différentes erreurs (mauvaise requête, ressource introuvable, erreur serveur). On vous demande de mettre en place une gestion des exceptions centralisée pour uniformiser les réponses retournées au client. Expliquez comment vous organiseriez cette gestion et quelles annotations vous utiliseriez.

Gestion des erreursExceptionsSpring Boot+2
ExpertSpring

Spring - Concevoir un microservice Spring Boot pour traiter une commande avec orchestration de saga

Vous devez concevoir un microservice Spring Boot responsable du traitement des commandes dans un système réparti (commande → paiement → inventaire → notification). Le service doit : orchestrer une saga pour garantir la cohérence entre services (compensation en cas d’échec), exposer des endpoints REST pour créer/consulter l’état d’une commande, publier/consommer des événements via Kafka ou RabbitMQ pour communiquer avec les autres services, persister l’état de la saga et des commandes dans une base relationnelle (ex : PostgreSQL), implémenter des tests d’intégration et des métriques pour le monitoring. Expliquez l’architecture (orchestrateur vs choreography), les composants Spring utilisés (Spring Boot, Spring Data, Spring Kafka / AMQP, Spring Transaction), la stratégie de compensation, la gestion des erreurs et les tests que vous écririez.

MicroservicesSagaKafka+7
ExpertSpring

Spring - Construire une API Spring Boot sécurisée, scalable et prête pour la production

On vous demande de créer une API REST Spring Boot qui servira des clients externes à fort trafic. La solution doit : sécuriser les endpoints via OAuth2 / JWT et gérer les rôles (user, admin), protéger contre les attaques courantes (rate limiting, CSRF, CORS, validation stricte), mettre en place un cache distribué (Redis) pour alléger la base de données, supporter la montée en charge (stateless services, readiness/liveness probes, externaliser la configuration), intégrer des métriques (Prometheus) et des traces distribuées (Jaeger), fournir une stratégie de déploiement (blue/green ou rolling) et pipeline CI/CD. Décrivez les choix techniques, les composants Spring à utiliser (Spring Security, Spring Cache, Spring Actuator), la configuration JWT, la politique de cache, la surveillance et la stratégie de test/charge.

SécuritéOAuth2JWT+7
ExpertSpring

Spring - Gérer la migration d’une API monolithique Spring vers une architecture versionnée sans interruption

Votre application monolithique expose une API v1 largement utilisée. Vous devez préparer et exécuter la migration vers une nouvelle API v2 (changement de schéma, nouveaux champs obligatoires) tout en maintenant la compatibilité avec les clients existants. Le travail doit inclure : mise en place de versioning d’API (URI ou header), transformation des requêtes/réponses (adaptateurs) pour supporter v1 et v2 simultanément, tests de non-régression automatisés pour valider comportements existants, stratégie de migration progressive (feature flags, canary releases), maintien de la documentation (OpenAPI/Swagger) et gestion des dépréciations. Expliquez comment vous implémenteriez le versioning avec Spring, comment écrire les adaptateurs/transformations, la stratégie de déploiement progressive et les tests nécessaires pour garantir zéro régression.

MigrationVersioning APIBackward compatibility+5

Questions originales conçues par CodeDuel. CodeDuel n'est affilié à aucun éditeur ni organisme de certification cité ; les noms de certifications et les marques appartiennent à leurs titulaires et servent uniquement à indiquer le domaine couvert. Signaler un contenu

    Cas pratiques Spring : 9 mises en situation | CodeDuel