モデルクラスを考える
public class MyModel
{
public string Id { get; set; }
/* some other properties */
}
そしてコントローラー
public class MyController
{
[HttpPut]
public ActionResult Update(string id, MyModel model)
{
/* process */
}
}
ルーティングは次のように登録されます。
protected override void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute("MyController",
"api/my/{id}",
new { action = "Update", controller = "My"},
new { httpMethod = new HttpMethodConstraint(new[] { "PUT" }) });
}
REST クライアントを使用し、JSON または XML リクエストとしてシリアル化された MyModel をこのコントローラーに送信すると、「MyModel」の null の「Id」プロパティがアクション メソッドの「id」パラメーターをオーバーライドします。 /api.example.com/api/my/10。
ASP.NET MVC 3 に URL (この場合は「10」) から「id」プロパティを入力させ、「MyModel」の「Id」プロパティを無視するにはどうすればよいですか?
ASP.NET Web API を使用していないことに注意してください。