sio:bloc2:2a:td4

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
sio:bloc2:2a:td4 [2025/12/01 01:37] jcheronsio:bloc2:2a:td4 [2025/12/02 20:36] (Version actuelle) – [Partie 2 : Repositories (15 min)] jcheron
Ligne 17: Ligne 17:
  
 class Profile { class Profile {
-  - id: Long+  - id: UUID
   - username: String   - username: String
   - ...   - ...
Ligne 23: Ligne 23:
  
 class Comment { class Comment {
-  - id: Long+  - id: UUID
   - content: String   - content: String
   - authorName: String   - authorName: String
Ligne 33: Ligne 33:
  
 class Rating { class Rating {
-  - id: Long+  - id: UUID
   - score: Integer   - score: Integer
   - category: RatingCategory   - category: RatingCategory
Ligne 81: Ligne 81:
  
 Attributs : Attributs :
-  * ''id'' : identifiant auto-généré+  * ''id'' : identifiant UUID
   * ''content'' : texte de 500 caractères maximum, obligatoire   * ''content'' : texte de 500 caractères maximum, obligatoire
   * ''authorName'' : nom du commentateur, obligatoire   * ''authorName'' : nom du commentateur, obligatoire
Ligne 96: Ligne 96:
  
 Attributs : Attributs :
-  * ''id'' : identifiant auto-généré+  * ''id'' : identifiant UUID
   * ''score'' : note de 1 à 5, obligatoire   * ''score'' : note de 1 à 5, obligatoire
   * ''category'' : catégorie de notation (enum)   * ''category'' : catégorie de notation (enum)
Ligne 105: Ligne 105:
 ---- ----
  
-==== Partie 2 : Repositories (10 min) ====+==== Partie 2 : Repositories (15 min) ====
  
 **5. Créer ''CommentRepository''** **5. Créer ''CommentRepository''**
-  * Hérite de ''JpaRepository<Comment, Long>''+  * Hérite de ''JpaRepository<Comment, UUID>''
   * Méthode personnalisée : trouver les commentaires par ID de profil ET statut   * Méthode personnalisée : trouver les commentaires par ID de profil ET statut
  
 **6. Créer ''RatingRepository''** **6. Créer ''RatingRepository''**
-  * Hérite de ''JpaRepository<Rating, Long>''+  * Hérite de ''JpaRepository<Rating, UUID>''
   * Méthode personnalisée : trouver toutes les notes d'un commentaire   * Méthode personnalisée : trouver toutes les notes d'un commentaire
  
Ligne 123: Ligne 123:
   * ''score''   * ''score''
  
-Validations : 
-  * ''category'' : non null 
-  * ''score'' : entre 1 et 5 
  
 **8. Créer ''CreateCommentRequest''** **8. Créer ''CreateCommentRequest''**
Ligne 135: Ligne 132:
   * ''ratings'' (liste de RatingDTO)   * ''ratings'' (liste de RatingDTO)
  
-Validations : 
-  * ''content'' : non vide, max 500 caractères 
-  * ''authorName'' : non vide 
-  * ''authorEmail'' : format email valide 
-  * ''ratings'' : non vide 
  
 **9. Créer ''CommentDTO''** **9. Créer ''CommentDTO''**
Ligne 151: Ligne 143:
   * ''ratings''   * ''ratings''
   * ''averageScore''   * ''averageScore''
- 
-<note>Pas de validation nécessaire (DTO de réponse)</note> 
  
  
Ligne 160: Ligne 150:
  
 ^ Critère ^ Points ^ ^ Critère ^ Points ^
-| **Entités** : annotations JPA correctes, relations bidirectionnelles cohérentes | /|+| **Entités** : annotations JPA correctes, relations bidirectionnelles cohérentes | /|
 | **Repositories** : déclarations correctes avec méthodes personnalisées | /3 | | **Repositories** : déclarations correctes avec méthodes personnalisées | /3 |
-| **DTOs** : structure et validations appropriées | /|+| **DTOs** : structure et validations appropriées | /|
  
  • sio/bloc2/2a/td4.1764549431.txt.gz
  • Dernière modification : il y a 9 jours
  • de jcheron