2016-04-08 13 views
1

RESTful Webサービスの基本的な概念は、api/delete/{id}などのリソースです。テーブル全体をパージするREST Web API 2とは何ですか?

しかし、私の目標はテーブルからすべてのレコードを削除し、Web Api 2 Webサービス(おそらくあまりにも多くのRESTfulな原則に違反することなく)テーブルをリロードすることです。

GETを実行してレコードを取得し、リソースごとにDELETEリクエストを送信したくないのですが、特定のリソースを指定しないで一括削除または切り捨てリクエストを送信しようとしています。または、GETすべてのリソースを回して、自分の個別のDELETEリクエストで返信するのにかかるコストを負担しています。それともこれは正しい方法ですか?

これを行う方法はありますか?または、私は代わりにPOST削除要求ですか?

答えて

2

最も良い方法は、HTTP DELETEリクエストをリソース自体(リソース内の各アイテムではなく)で使用することです。だからあなたの行動は次のようになります。

[HttpDelete] 
[Route("")] 
public IHttpActionResult DeleteAllItems() 
+0

私は現在、これをしようとしています、しかし私は、HTTPリクエストは、私が明示的に[HttpDelete 'の方法を記載していたとしても、何らかの理由で' GET'のように見えるため、エラーを取得しておきます] ' –

+0

これは、APIの問題ではなく、クライアントが要求を作成する方法に問題があるように思えます。 – strickt01

+0

がここに建設が '[ルート( "削除")] 次のようになります[HttpDelete] 公共IHttpActionResultは、(削除)' だから、最終的な結果は、 '/ API /コントローラ/ DELETE'ですが、それはのように戻ってきます'GET'エラーです。しかし、それは私が見る側面の問題です。あなたは元の質問への応答を提供しています。ありがとう! –

関連する問題