| URI | Opération | MIME | Requête | Réponse |
|---|---|---|---|---|
| /points | GET | <-application/json | liste des points de collecte (I1) | |
| /points/{id} | GET | <-application/json | un point de collecte avec types (I2) ou 404 | |
| /points/{id} | PUT/PATCH | ->application/json <-application/json | Point de collecte (I3) | Point de collecte mis à jour (I1) |
| /points/{id}/clear | DELETE | 204 ou 404 |
Un point de collecte comporte un identifiant, une adresse et une capacité maximale. Sa représentation JSON (I1) est la suivante :
{
"id": 1,
"adresse": "12 Rue de la Paix",
"capaciteMax": 500
}Lors de la consultation détaillée, le point de collecte inclut les types de déchets acceptés :
{
"id": 1,
"adresse": "12 Rue de la Paix",
"capaciteMax": 500,
"acceptedWasteTypes": [
{
"id": 1,
"nom": "plastiques",
"pointsPerKilo": 10
}
]
}Pour la mise à jour, on peut envoyer un objet partiel ou complet :
{
"adresse": "15 Rue de la Paix",
"capaciteMax": 600
}GET /points
Requête vers le serveur :
GET /points?limit=2&offset=0
Réponse du serveur :
[
{
"id": 1,
"adresse": "12 Rue de la Paix",
"capaciteMax": 500
},
{
"id": 2,
"adresse": "5 Avenue des Champs",
"capaciteMax": 300
}
]Codes de status HTTP :
| Status | Description |
|---|---|
| 200 OK | La requête s’est effectuée correctement |
| 204 No Content | La liste est vide |
GET /points/{id}
Requête vers le serveur :
GET /points/1
Réponse du serveur :
{
"id": 1,
"adresse": "12 Rue de la Paix",
"capaciteMax": 500,
"acceptedWasteTypes": [
{
"id": 1,
"nom": "plastiques",
"pointsPerKilo": 10
}
]
}Codes de status HTTP :
| Status | Description |
|---|---|
| 200 OK | La requête s’est effectuée correctement |
| 404 NOT FOUND | L’id est inexistant |
| 400 BAD REQUEST | L’id est non valide |
PATCH /points/{id}
Requête vers le serveur :
PATCH /points/1
{
"adresse": "15 Rue de la Paix"
}
Réponse du serveur :
{
"id": 1,
"adresse": "15 Rue de la Paix",
"capaciteMax": 500
}Codes de status HTTP :
| Status | Description |
|---|---|
| 200 OK | La requête s’est effectuée correctement |
| 400 BAD REQUEST | Corps de la requête invalide ou id invalide |
| 401 UNAUTHORIZED | Token manquant ou invalide |
| 403 FORBIDDEN | Droits insuffisants (Administrateur seulement) |
| 404 NOT FOUND | L’id est inexistant |
DELETE /points/{id}/clear
Requête vers le serveur :
DELETE /points/1/clear
Codes de status HTTP :
| Status | Description |
|---|---|
| 204 NO CONTENT | Le point de collecte a été vidé |
| 404 NOT FOUND | L’id est inexistant |
| 400 BAD REQUEST | L’id n’est pas un nombre valide |
| 401 UNAUTHORIZED | Token manquant ou invalide |
| 403 FORBIDDEN | Droits insuffisants (Administrateur seulement) |