アクションがデータベースで削除メソッドを実行している場合でも、常に HttpGet または HttpPost を使用します。
HttpDelete/HttpPut を何に使用すればよいですか?
アクションがデータベースで削除メソッドを実行している場合でも、常に HttpGet または HttpPost を使用します。
HttpDelete/HttpPut を何に使用すればよいですか?
Web ブラウザーは GET と POST のみをサポートするため、Web サイトを構築する場合、PUT や DELETE は必要ありません。ただし、RESTful api を構築している場合、ユーザーが何かを入れたり削除したりできるようにしたい場合は、PUT と DELETE が最適です。
編集: ブラウザは XMLHttpRequest の実装で DELETE と PUT をサポートしているようです。したがって、これらを ajax リクエストで使用できます。ただし、HTML フォームはそれらをサポートしていません。
ODataサービスを構築する場合。
HTTPDELETE-指定されたリソースが表すエンティティデータを削除します。ペイロードは、要求メッセージまたは応答メッセージに存在しません。
HTTPPUT-要求されたリソースの既存のエンティティデータを、要求メッセージのペイロードで提供される新しいデータに置き換えます。(msdn)
興味深いかもしれないスコット・ハンゼルマンとのプレゼンテーションがあります。(まだ見ていません。)
サブスクリプションをお持ちの場合は、ODataに関する複数のサイトに関する講義もいくつかあります。
DELETE
リクエストの使い方はご存知だと思いますがPUT
、少し違います。
サーバーに新しいリソースを作成していて、それにアクセスできるURIが自分で決定した場合は、に進みますPUT
。ほとんどの場合、URIはサーバーによって決定されるPOST
ため、作成とPUT
通常は更新に使用されます。
最後に、GET
両方DELETE
のようPUT
にべき等であるということは、クライアントが要求をシリアルに送信する回数を意味し、サーバーの状態を最初の要求と同じに変更する必要があります。