WebAPI - réponses HTTP
GET
| Cas | Code | Contenu |
|---|---|---|
| L'élément ou plusieurs éléments demandé(s) existe(ent) | 200 OK | Collection, resource unique |
| L'élément ou la liste n'existe pas | 204 No Content | Pas de contenu |
astuce
Il peut être tentant d'utiliser 404 si la resource n'existe pas, mais cette erreur est aussi utilisée en standard http pour indiquer qu'une url (donc un endpoint) n'existe pas et peut donc être moins compréhensible. Cf "The Design of Web APIs", Arnaud Lauret, Manning Editions.
POST
| Cas | Code | Contenu |
|---|---|---|
| L'élément a été créé. | 201 Created | Objet complet créé (y compris l'ID de l'objet). |
| Requête acceptée, mais pas directement traitée (file d'attente) | 202 Accepted | Adresse avec l'endroit où suivre la file d'attente. |
| Le client envoie un objet mal formé | 400 Bad Request | Le message d'erreur expliquant le problème. |
PUT / PATCH
| Cas | Code | Contenu |
|---|---|---|
| L'élément a bien été remplacé. | 204 No Content | Pas de contenu, mais le header de la réponse peut envoyer un ETag (Entity tag) |
| Le client envoie un objet mal formé | 400 Bad Request | Le message d'erreur expliquant le problème. |
DELETE
| Cas | Code | Contenu |
|---|---|---|
| L'élément a bien été effacé. | 204 No Content | Pas de contenu. |
| Le client envoie un objet mal formé | 400 Bad Request | Le message d'erreur expliquant le problème. |
Codes généralistes
| Cas | Code | Contenu |
|---|---|---|
| Le client n'est pas authentifié à l'API | 401 Unauthorized | Pas de contenu, header indiquant le schema d'authentication requis. |
| Erreur côté serveur (exception catchée) | 500 Internal Server error | Message d'erreur. |