私は最近、これら2つのMVC4ルートの機能が明らかに異なるという事実に火傷を負いました。誰かが何が起こっているのかを強調して、私がよりよく理解できるようになるのではないかと思っていました。
routes.MapRoute(
"post-User",
"User",
new { controller = "User", action = "create" },
new { httpMethod = new HttpMethodConstraint("POST") }
);
routes.MapRoute(
"post-User",
"{controller}",
new { controller = "User", action = "create" },
new { httpMethod = new HttpMethodConstraint("POST") }
);
{controller}ビットはプレースホルダーであり、次の行でcontroller = "User"と言うと、これら2つのステートメントは同等になると思いました。どうやら{controller}を使用すると、すべてのルートにデフォルトが設定されますか?