12

バックグラウンド:

MVC3 では、次の構文を使用してカスタムActionパラメーター名を指定しました。

public ActionResult ActionName([Bind(Prefix = "principalID")] int userID,
                               [Bind(Prefix = "dependentID")] long applicationID)

このアクションのルートは次のように定義されています (ActionNameConstraintはカスタムですIRouteConstraint)。

routes.MapHttpRoute(
    "DependantAction",
    "{controller}/{principalID}/{action}/{dependentID}",
    new {controller = @"[^0-9]+", action = ActionNameConstraint.Instance, dependentID = RouteParameter.Optional}
    );

質問:

はクラスですBindAttributeSystem.Web.MvcWeb Api にこれ (パラメーター バインディング) に相当するものはありますか?

もちろん、同じ結果を達成するための他の解決策があれば、ぜひ聞いてみたいです!

4

2 に答える 2

-2

WebAPI では、特別なコントローラー クラス ベースと特別なアクション名を使用するだけであることは理解していますが、それでもやはりそれらはコントローラーとアクションです。

試してみましたが、うまくいきませんでしたか?この記事をざっと見てみると、一般的なモデル バインディング (特定の属性ではない) が正常に動作するはずであることが示唆されているようです。

http://blogs.msdn.com/b/jmstall/archive/2012/04/16/how-webapi-does-parameter-binding.aspx

編集:

これはMVCでのみ機能するはずであり、答えに反対票を投じた人もいます。どうぞ、より多くの参照:

于 2012-04-27T00:09:08.743 に答える