ASP.Net MVCでPut動詞とDelete動詞を処理する方法はありますか?
-
09-06-2019 - |
質問
できれば本当に休むようなPut/delete実装asp.net mvcプレビュー5を知っている人がいるかどうか疑問に思っています。
解決
mvccontrib プロジェクトをチェックアウトしてください。 http://www.mvccontrib.org. 。ソース コードには RESTful 実装が追加されており、現在はプレビュー 5 までとなっています。ここでソースコードをチェックしてください - http://mvccontrib.googlecode.com/svn/trunk/src/MVCContrib/SimplyRestful
他のヒント
Rails はフォーム内で「メソッド」パラメータを使用してそれを偽装しますが、指定した場合は適切なメソッドを呼び出します。
ほとんどのクライアントが RESTful スタックをサポートしないことは理解していますが、asp.net mvc ではこれらの動詞を自動ネゴシエートし、適切にみなされるアクションに配置できますか?
これについてはブログで取り上げてきました http://ショルダーオブジャイアンツ.co.uk/blog/ ここでは、ASP.Net と MVC に基づいた RESTful Web サービス全体を調べています。
思いついたものはありませんが、他に何も見つからない場合は、Rails がそれを処理する方法を調べて、移植してみてください。Rails は POST、GET、PUT、DELETE を利用しますが、PUT に関しては何らかの偽装を行う必要があるようです。ここでドライになった場合は、検討する価値があるかもしれません。
プレビュー 5 の新しい AcceptVerbsAttribute は、あらゆるタイプのリクエストを指定されたアクションに誘導できるはずだと思います。以下のようにメソッドをマークすると、理論的にはすべての動詞を処理できるようになりますが、put または delete については明示的にテストしていません。
[AcceptVerbs("delete")]
public object DoDeleteAction()
MVC ベータ版では、HttpVerbs 列挙を使用できるようになりました。
ここに例があります...
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index()
{ ... }
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Update()
{ ... }
[AcceptVerbs(HttpVerbs.Delete)]
public ActionResult Delete()
{ ... }
あなたはその考えを理解しています。
h番目:)