Table des matières

Évaluation Technique Spring Boot - Suite

Partie 1 : Service

Créer CommentService

Méthodes à implémenter :

a) createComment(UUID profileId, CreateCommentRequest request)

  1. Vérifier que le profil existe
  2. Créer le commentaire avec le statut PENDING
  3. Initialiser createdAt avec la date/heure actuelle
  4. Créer les ratings associés depuis la liste du DTO
  5. Sauvegarder le commentaire (qui sauvegarde aussi les ratings grâce au cascade)
  6. Retourner un CommentDTO

b) getApprovedCommentsByProfile(UUID profileId)

  1. Récupérer tous les commentaires approuvés pour un profil
  2. Convertir en liste de CommentDTO

c) moderateComment(UUID commentId, CommentStatus newStatus)

  1. Récupérer le commentaire
  2. Mettre à jour son statut
  3. Sauvegarder

d) Méthode utilitaire : toDTO(Comment comment)

  1. Convertir un Comment en CommentDTO
  2. Calculer le averageScore en faisant la moyenne des scores de tous les ratings

Partie 2 : Controller

Créer CommentController

A déclarer en tant que @RestController

Mapping de base : /api/profiles/{profileId}/comments

POST /api/profiles/{profileId}/comments

GET /api/profiles/{profileId}/comments

Créer CommentModerationController

Mapping de base : /api/comments

PUT /api/comments/{commentId}/moderate

Critères d'évaluation (barème /10)

Critère Points
Service : logique métier correcte, conversions DTO, calcul moyenne /5
Controllers : endpoints REST fonctionnels, gestion des statuts HTTP /3
Qualité du code : nommage, conventions, organisation /2