Cours Génie Logiciel Avancé



Gestion d’emploi du temps (3/6)

Amélioration de la gestion des codes retour de l’API HTTP

La tâche principale à faire pour cette séance est d’améliorer l’API HTTP du serveur et notamment la gestion des codes d’erreurs dans les réponses du serveur. L’API devra répondre aux spécifications suivantes (attention il y a des différences avec le code qui vous a été donné) :

  • Requête GET avec route calendar/request :
    • réponse code 200 avec comme corps un CalendarDTO sérialisé en json si request est au format start=date1&end=date2 avec date1 et date2 des dates au format aaaa-mm-jj ;
    • réponse code 400 sans corps dans le cas où request n’est pas au bon format.
  • Requête GET avec route timeslots/id :
    • réponse code 400 sans corps dans le cas où id ne correspond pas à un entier ;
    • réponse code 200 avec comme corps un CalendarSlotDTO sérialisé en json si le serveur contient un timeslot avec comme identifiant id ;
    • réponse code 404 si le serveur ne contient pas un timeslot avec comme identifiant id.
  • Requête DELETE avec route timeslots/id :
    • réponse code 400 sans corps dans le cas où id ne correspond pas à un entier ;
    • réponse code 204 sans corps dans le cas où le serveur contient un timeslot avec comme identifiant id qui sera supprimé ;
    • réponse code 404 si le serveur ne contient pas un timeslot avec comme identifiant id ;
  • Requête CREATE avec route timeslots :
    • réponse code 400 sans corps dans le cas où le corps de la requête ne contient pas un CalendarSlotDTO sérialisé en json ;
    • réponse code 201 avec comme corps le CalendarSlotDTO créé au format json.
  • Requête UPDATE avec route timeslots/id :
    • réponse code 404 si le serveur ne contient pas un timeslot avec comme identifiant id ;
    • réponse code 400 sans corps dans le cas où le corps de la requête ne contient pas un CalendarSlotDTO sérialisé en json ;
    • réponse code 200 avec comme corps le CalendarSlotDTO mis à jour sérialisé en json si le serveur a pu mettre à jour le créneau ;
    • réponse code 409 sans corps si le serveur ne peut pas mettre à jour le créneau, car le numéro de version ne correspond pas.