11
私は両方が使われているのを見たことがあるので、彼らは同じことか別のものをやっているのでしょうか?後者の場合、違いは何ですか?Asp.NET Web-APIルートにRouteParameterまたはUrlParameterを使用する必要がありますか?
私はビジュアルスタジオのMVC 4(rc)web apiテンプレートを見て自分で答えようとしましたが、悲しいことに両方を使用するので、私の混乱が残ります。ここでは、テンプレートが含まれているものです:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
Aha ..私は、ルートオブジェクトでさまざまなメソッドを呼び出したことに気付きませんでした。しかしそれは理にかなっています。私はなぜそれらがビューとmvcのものをWeb APIテンプレートに含めているのだろうかと思います。彼らはすぐにSPAのテンプレートでやり遂げられることを願っています。ありがとう! :) – Mithon
また、これらの2つの間で異なる動作があります。この投稿をチェックした場合:http://stackoverflow.com/questions/19043266/in-asp-net-webapi-does-routeparameter-optional-mean-optional-part-of-the-url UrlParameter.Optionalは必要ありませんデフォルトパラメータを指定し、RouteParameter.Optionalは指定します。 –