Je suis en train de concevoir une API JSON RESTful qui devrait avoir un point de terminaison booléen tel que /item/vote
qui peut être false
signifiant qu'un utilisateur n'a pas voté pour un élément spécifique ou true
signifiant qu'il a voté.
J'ai actuellement du mal à sélectionner un parmi plusieurs modèles possibles:
codes d'état HTTP
PUT/item/vote => défini sur true DELETE/item/vote => défini sur false GET/item/vote => code d'état 204 => true | code d'état 404 => faux
JSON
PUT/item/vote HTTP/1.1 Type de contenu: application/json { "Vote": vrai }
GET/item/vote HTTP/1.1 HTTP/1.1 200 OK Type de contenu: application/json { "vote": vrai }
L'une de ces deux approches est-elle meilleure ou s'agit-il simplement d'une question de préférence? Je préfère actuellement l'approche du code de statut HTTP car je l'ai déjà vue.
La deuxième approche est hautement préférable. PUT
est destiné à remplacer la ressource sur le serveur par le contenu que vous PUT
ting. De même, DELETE
est destiné à supprimer une ressource, pas à définir sa valeur.