web-dev-qa-db-ja.com

RESTful API内のブールエンドポイント

私は現在、JSON RESTful APIを設計しています。これには、/item/voteなどのブールエンドポイントが必要です。これはfalseは、ユーザーが特定のアイテムに投票していないことを意味します。またはtrueは、投票しました。

現在、複数の可能なデザインから1つを選択するのに苦労しています。

HTTPステータスコード

 PUT/item/vote => trueに設定
 DELETE/item/vote => falseに設定
 GET/item/vote =>ステータスコード204 => true |ステータスコード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 
 
 {
 "投票":true 
} 

これらの2つのアプローチのいずれかが優れていますか、それとも単なる好みの問題ですか?すでに見たので、私は現在HTTPステータスコードアプローチを好みます。

7
1' OR 1 --

2番目のアプローチは非常に望ましいです。 PUTは、サーバー上のリソースをあなたがPUTtingしているコンテンツで置き換えることを目的としています。同様に、DELETEはリソースを削除するためのものであり、値を設定するためのものではありません。

8
Eric Stein