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 routecalendar/request
:- réponse code 200 avec comme corps un
CalendarDTO
sérialisé en json sirequest
est au formatstart=date1&end=date2
avecdate1
etdate2
des dates au formataaaa-mm-jj
; - réponse code 400 sans corps dans le cas où
request
n’est pas au bon format.
- réponse code 200 avec comme corps un
- Requête
GET
avec routetimeslots/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 untimeslot
avec comme identifiantid
; - réponse code 404 si le serveur ne contient pas un
timeslot
avec comme identifiantid
.
- réponse code 400 sans corps dans le cas où
- Requête
DELETE
avec routetimeslots/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 identifiantid
qui sera supprimé ; - réponse code 404 si le serveur ne contient pas un
timeslot
avec comme identifiantid
;
- réponse code 400 sans corps dans le cas où
- Requête
CREATE
avec routetimeslots
:- 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.
- réponse code 400 sans corps dans le cas où le corps de la requête ne
contient pas un
- Requête
UPDATE
avec routetimeslots/id
:- réponse code 404 si le serveur ne contient pas un
timeslot
avec comme identifiantid
; - 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.
- réponse code 404 si le serveur ne contient pas un