私は ASP.NET MVC を使用して RESTful API のプロトタイプを実装していますが、あちこちの奇妙なバグは別として、呼び出し元がX-HTTP-Method-Override
カスタム ヘッダーを使用してオーバーライドできることを除けば、最初に設定したすべての要件を達成しました。 HTTP メソッド。
私が欲しいのは、次のリクエストです...
GET /someresource/123 HTTP/1.1
X-HTTP-Method-Override: DELETE
DELETE
...そのアクションの機能ではなく機能を実装するコントローラーメソッドにディスパッチされますGET
(アクションを実装する複数のメソッドがあり、それらが異なる[AcceptVerbs]
属性でマークされていると仮定します)。したがって、次の 2 つの方法がある場合、上記のリクエストを 2 番目の方法にディスパッチしたいと思います。
[ActionName("someresource")]
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult GetSomeResource(int id) { /* ... */ }
[ActionName("someresource")]
[AcceptVerbs(HttpVerbs.Delete)]
public ActionResult DeleteSomeResource(int id) { /* ... */ }
これが可能かどうか誰にもわかりますか?そして、そうするのにどれだけの労力がかかるでしょうか...?