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.
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.
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.
Tags design api-design rest