it-swarm.com.de

Boolescher Endpunkt innerhalb einer RESTful-API

Ich entwerfe derzeit eine JSON RESTful-API, die einen booleschen Endpunkt wie /item/vote Haben sollte, der entweder false sein kann, was bedeutet, dass ein Benutzer nicht für ein bestimmtes Element oder true gestimmt hat was bedeutet, dass er abgestimmt hat.

Ich habe derzeit Probleme, eines von mehreren möglichen Designs auszuwählen:

HTTP-Statuscodes

 PUT/item/vote => auf true gesetzt 
 DELETE/item/vote => auf false gesetzt 
 GET/item/vote => Statuscode 204 => true | Statuscode 404 => false 

JSON

 PUT/item/vote HTTP/1.1 
 Inhaltstyp: application/json 
 
 {
 "Vote": true 
} 
 GET/item/vote HTTP/1.1 
 
 
 HTTP/1.1 200 OK 
 Inhaltstyp: application/json 
 
 {
 "Abstimmung": wahr 
} 

Ist einer dieser beiden Ansätze besser oder ist es nur eine Frage der Präferenz? Ich bevorzuge derzeit den HTTP-Statuscode-Ansatz, da ich ihn bereits gesehen habe.

7
1' OR 1 --

Der zweite Ansatz ist sehr vorzuziehen. PUT soll die Ressource auf dem Server durch den Inhalt ersetzen, den Sie PUTting verwenden. Ebenso soll DELETE eine Ressource löschen, nicht ihren Wert festlegen.

8
Eric Stein