Quel est le rôle principal d’un Controller REST ?
Faire l’interface entre le client (HTTP) et la base de données via le backend.
Que reçoit un Controller REST ?
Des requêtes HTTP envoyées par un client (Angular, Postman, navigateur…).
Que renvoie un Controller REST ?
Une réponse HTTP, souvent au format JSON.
Pourquoi un Controller est-il indispensable dans une API ?
Parce qu’il expose les endpoints qui permettent au client de communiquer avec le backend.
Qu’indique l’annotation @RestController ?
Que la classe expose des endpoints REST et que Spring renverra du JSON automatiquement.
À quoi sert @RequestMapping dans un Controller ?
À définir la “racine” commune de tous les endpoints d’un controller (ex : /products).
Qu’est-ce qu’un endpoint ?
Une URL spécifique qui déclenche une action dans l’API.
Un endpoint est-il lié à un verbe HTTP ?
Oui : GET, POST, PUT, PATCH, DELETE selon l’action attendue.
Que fait un endpoint GET en général ?
Il lit des données.
Que fait un endpoint POST ?
Il crée une nouvelle ressource.
Que fait un endpoint PUT ?
Il remplace entièrement une ressource existante.
Que fait un endpoint DELETE ?
Il supprime une ressource.
Pourquoi utilise-t-on @PathVariable ?
Pour récupérer des valeurs placées dans l’URL (ex : /products/3 → id = 3).
À quoi sert @RequestParam ?
À récupérer un paramètre optionnel placé après ? dans l’URL (ex : ?keyword=pc).
À quoi sert @RequestBody ?
À convertir automatiquement un JSON envoyé par le client en objet Java.
Pourquoi utilise-t-on ResponseEntity dans les controllers ?
Pour contrôler le code HTTP renvoyé et structurer proprement la réponse.
Que représente un statut HTTP ?
Une indication formelle du résultat de la requête (succès, erreur, ressource absente…).
Pourquoi un code HTTP est-il important ?
Parce qu’il permet au client de comprendre ce qu’il s’est passé, indépendamment du contenu JSON.
Exemple de code HTTP qui signifie “OK, tout va bien” ?
200
Quel code HTTP renvoie une création réussie ?
201 Created.
Quel code HTTP renvoie l’absence d’erreur mais aucun contenu ?
204 No Content.
Quel code HTTP renvoie une ressource introuvable ?
404 Not Found.
Quel code HTTP représente une erreur serveur ?
500 Internal Server Error.
Pourquoi regrouper les controllers dans un package “exposition” ?
Pour isoler clairement la couche web du reste de l’application.