RESTサービスの開発を容易にするために、ルーティングを処理する新しい方法を見たいと思います。現在、次のようなルートがあります。
context.MapRoute(null,
"api/posts",
new { controller = "Post", action = "Get" },
new { httpConstraint = new HttpMethodConstraint("GET") });
context.MapRoute(null,
"api/posts",
new { controller = "Post", action = "Insert" },
new { httpConstraint = new HttpMethodConstraint("POST") });
context.MapRoute(null,
"api/posts/{id}",
new { controller = "Post", action = "Update" },
new { httpConstraint = new HttpMethodConstraint("PUT") });
context.MapRoute(null,
"api/posts/{id}",
new { controller = "Post", action = "Delete" },
new { httpConstraint = new HttpMethodConstraint("DELETE") });
ASP.NET MVCを使用する新しい人にとって、ルーティングを処理する匿名オブジェクトを作成することは非常に直感的ではありません。私はそれがこのようなものに改訂されることを望んでいます(そして私たちはC#4.0を使用しているので):
context.MapRoute("api/posts",
controller: "Post",
action: "Get",
httpMethodConstraint: HttpMethodConstraint.GET
);
context.MapRoute("api/posts",
controller: "Post",
action: "Insert",
httpMethodConstraint: HttpMethodConstraint.POST
);
context.MapRoute("api/posts/{id}",
controller: "Post",
action: "Update",
httpMethodConstraint: HttpMethodConstraint.PUT
);
context.MapRoute("api/posts/{id}",
controller: "Post",
action: "Delete",
httpMethodConstraint: HttpMethodConstraint.DELETE
);
これにより、さらに発見しやすくなります。