Endpoint booleano all'interno di un'API RESTful

5

Attualmente sto progettando un'API RESTful JSON che dovrebbe avere un endpoint booleano come /item/vote che può essere false che significa che un utente non ha votato per un articolo specifico o true che significa che ha votato.

Attualmente sto lottando per selezionare uno tra più possibili progetti:

Codici di stato HTTP

PUT /item/vote => set to true
DELETE /item/vote => set to false
GET /item/vote => status code 204 => true | status code 404 => false

JSON

PUT /item/vote HTTP/1.1
Content-Type: application/json

{
    "vote": true
}
GET /item/vote HTTP/1.1


HTTP/1.1 200 OK
Content-Type: application/json

{
    "vote": true
}

Qualcuno di questi due approcci è migliore o è solo una questione di preferenza? Attualmente preferisco l'approccio del codice di stato HTTP perché l'ho già visto.

    
posta 1' OR 1 -- 25.03.2016 - 20:36
fonte

1 risposta

6

Il secondo approccio è altamente preferibile. PUT è destinato a sostituire la risorsa sul server con il contenuto che stai PUT ting. Allo stesso modo, DELETE ha lo scopo di eliminare una risorsa, non di impostarne il valore.

    
risposta data 25.03.2016 - 21:10
fonte

Leggi altre domande sui tag