0
我創建了一個新的基於MVC4的Webapi項目,並在App start文件夾中有幾個文件。我在RouteConfig.cs注意到文件使用Webapi的新MVC4項目包含WebApiConfig和RouteConfig
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
而且在WebApiConfig.cs
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
從我可以告訴他們都做了大致相同的事情,除了一個
現在使用.MapRoute和其他.MapHttpRoute的參數在符號上略有不同。這兩種不同的途徑在應用程序的不同方面?他們需要在兩個地方嗎?如果是/不是優先?
我發現 Difference between WebApiConfig.cs and RouteConfig.cs
然而,所有這說的是一個是Asp.Net路線,另一種是對的WebAPI的路線,但我不認爲在這兩個路線類型之間使用的區別。
奇怪的是,我創建了兩個或三個單獨的項目,並且您剪切和粘貼的內容是我所看到的......我將其用於解釋控制器中{id}組件的名稱routetemplate ie ... class MyTestController - >方法MyTestMethod被稱爲http:// localhost/mytestcontroller/mytestmethod現在我想知道我的調用是如何工作的當routetemplate有一個動作定義在它! – DRobertE
默認情況下,在Web API中,方法由用於發送請求的HTTP動詞確定(如我在原始文章中所述)。也就是說,ApiController上的方法將是Get,Post,Put和Delete。該id會根據情況傳遞給該方法。如果你做一個文件 - >新建 - > Web API項目,然後打開ValuesController(假設VS2013和最新的模板),你會看到它。 –
@CraigW。他瞄準.net 4.0,你的目標是.net 4.5 – Robert