Exposition - Les Controllers REST Flashcards

(30 cards)

1
Q

Quel est le rôle principal d’un Controller REST ?

A

Faire l’interface entre le client (HTTP) et la base de données via le backend.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Que reçoit un Controller REST ?

A

Des requêtes HTTP envoyées par un client (Angular, Postman, navigateur…).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Que renvoie un Controller REST ?

A

Une réponse HTTP, souvent au format JSON.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Pourquoi un Controller est-il indispensable dans une API ?

A

Parce qu’il expose les endpoints qui permettent au client de communiquer avec le backend.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qu’indique l’annotation @RestController ?

A

Que la classe expose des endpoints REST et que Spring renverra du JSON automatiquement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

À quoi sert @RequestMapping dans un Controller ?

A

À définir la “racine” commune de tous les endpoints d’un controller (ex : /products).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qu’est-ce qu’un endpoint ?

A

Une URL spécifique qui déclenche une action dans l’API.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Un endpoint est-il lié à un verbe HTTP ?

A

Oui : GET, POST, PUT, PATCH, DELETE selon l’action attendue.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Que fait un endpoint GET en général ?

A

Il lit des données.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que fait un endpoint POST ?

A

Il crée une nouvelle ressource.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Que fait un endpoint PUT ?

A

Il remplace entièrement une ressource existante.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Que fait un endpoint DELETE ?

A

Il supprime une ressource.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Pourquoi utilise-t-on @PathVariable ?

A

Pour récupérer des valeurs placées dans l’URL (ex : /products/3 → id = 3).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

À quoi sert @RequestParam ?

A

À récupérer un paramètre optionnel placé après ? dans l’URL (ex : ?keyword=pc).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

À quoi sert @RequestBody ?

A

À convertir automatiquement un JSON envoyé par le client en objet Java.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Pourquoi utilise-t-on ResponseEntity dans les controllers ?

A

Pour contrôler le code HTTP renvoyé et structurer proprement la réponse.

17
Q

Que représente un statut HTTP ?

A

Une indication formelle du résultat de la requête (succès, erreur, ressource absente…).

18
Q

Pourquoi un code HTTP est-il important ?

A

Parce qu’il permet au client de comprendre ce qu’il s’est passé, indépendamment du contenu JSON.

19
Q

Exemple de code HTTP qui signifie “OK, tout va bien” ?

20
Q

Quel code HTTP renvoie une création réussie ?

21
Q

Quel code HTTP renvoie l’absence d’erreur mais aucun contenu ?

A

204 No Content.

22
Q

Quel code HTTP renvoie une ressource introuvable ?

A

404 Not Found.

23
Q

Quel code HTTP représente une erreur serveur ?

A

500 Internal Server Error.

24
Q

Pourquoi regrouper les controllers dans un package “exposition” ?

A

Pour isoler clairement la couche web du reste de l’application.

25
Pourquoi un controller ne doit-il pas contenir de logique métier ?
Car son rôle est de recevoir les requêtes, déléguer, et renvoyer une réponse (pas de règles métier).
26
Pourquoi un controller doit-il être “stateless” ?
Pour que chaque requête soit indépendante et pour permettre la scalabilité.
27
À quoi sert Postman dans ce chapitre ?
À tester les endpoints HTTP sans avoir besoin du frontend.
28
Pourquoi activer les logs web en mode debug ?
Pour observer les requêtes et faciliter le débogage pendant le développement.
29
Que permet @Autowired dans un controller ?
Injecter automatiquement un composant nécessaire (ex : un repository).
30
Où se situe un Controller dans l’architecture en couches ?
Dans la couche d’exposition, au-dessus de la couche de persistence.