endpoint booleano dentro de uma API RESTful

5

Atualmente, estou projetando uma API JSON RESTful que deve ter um endpoint booleano, como /item/vote , que pode ser false , o que significa que um usuário não votou em um item específico ou true , o que ele votou.

Atualmente, estou lutando para selecionar um dos vários projetos possíveis:

códigos de status 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
}

Alguma dessas duas abordagens é melhor ou é apenas uma questão de preferência? No momento, estou preferindo a abordagem do código de status HTTP porque já a vi.

    
por 1' OR 1 -- 25.03.2016 / 20:36
fonte

1 resposta

6

A segunda abordagem é altamente preferível. PUT destina-se a substituir o recurso no servidor pelo conteúdo que você está PUT ting. Da mesma forma, DELETE destina-se a excluir um recurso, não para definir seu valor.

    
por 25.03.2016 / 21:10
fonte