Exposition - Contraintes de validations Flashcards

(15 cards)

1
Q

Pourquoi valider les données dans une app Spring Boot ?

A

Pour garantir l’intégrité, la cohérence, la sécurité, éviter les données malveillantes et détecter tôt les erreurs.

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

À quel niveau du backend doit-on valider les données ?

A

Au niveau de la couche d’exposition (DTOs de requête), avant toute logique métier ou persistance.

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

Comment Spring Boot gère-t-il la validation ?

A

Via les annotations Jakarta Bean Validation sur les champs des DTOs.

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

Différences @NotNull, @NotEmpty, @NotBlank ?

A

@NotNull → valeur pas null

@NotEmpty → non null + longueur > 0

@NotBlank → non null + pas uniquement des espaces

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

À quoi sert @Size ?

A

Imposer une taille min/max (chaînes, collections, tableaux).

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

À quoi servent @Min, @Max, @Positive, @Negative, …OrZero ?

A

Imposer des bornes ou un signe sur les valeurs numériques.

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

Quand utiliser @Past, @Future, …OrPresent ?

A

Pour vérifier qu’une date est dans le passé, le futur, ou incluant le présent.

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

Quels validateurs pour email / URL / regex ?

A

@Email, @URL, @Pattern

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

À quoi sert @Valid ?

A

Indique qu’un objet doit être validé récursivement (par ex. un DTO complet dans un contrôleur).

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

Où met-on @Valid ?

A

Devant un @RequestBody dans un contrôleur REST pour activer la validation automatique.

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

Quelle exception Spring déclenche quand la validation échoue ?

A

MethodArgumentNotValidException

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

À quoi sert @RestControllerAdvice ?

A

Centraliser la gestion des exceptions de tous les contrôleurs REST.

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

Pourquoi créer un handler global pour MethodArgumentNotValidException ?

A

Pour renvoyer des erreurs claires, structurées et réutilisables à tous les endpoints.

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

Que renvoie typiquement une erreur de validation ?

A

Une map champ → message d’erreur compréhensible par le client.

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

Pourquoi applique-t-on les validations sur les DTO de requête et non sur les entités ?

A

Car ce sont les objets reçus du client, et la validation doit filtrer les données avant d’atteindre le domaine.

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