ASP.NET Web API 2.2 - File Structure

File Structure

  • Controllers 這一個資料夾有 MVC 及 API 的 Controller, API 的 Controller 跟 MVC 的 Controller 並不一樣, 裡面有一個 ValuesController.cs, 這一個是 API Controller, 因為可以看到ValuesController 繼承的是 ApiController, 另外一個 HomeController.cs, 這一個是 MVC 的 Controller, 因為繼承的是 System.Web.Mvc.Controller
  • Default Route in ApiController
    先去 App_Start 打開 WebApi.Config.cs 或者是 Global.asax 並在 WebConfig.Register 的地方按下右鍵, Go to Definition, 都會打開相同的 file, 也就是 WebApi.config, 可以看到 route template 是 routeTemplate: "api/{controller}/{id}",, 前面會有 api,中間放的是 Controller 的名字, 如果是 ValuesController, 那麼就會放 Values, 最後一個是 id, id 在這裡的 default 是可放可不放的, 最後的網址就是 https://localhost:portNum/Values/1
  • Default Route in MvcController
    可以看到 url 改成 url: "{controller}/{action}/{id}", 前面並不會有 api, 而在要 hit 這一個 uri時要打上 ControllerName/ActionMethod/id, 假如我現在的 ControllerName 是 Home, 要 call 的 action 是 Index, 那麼就要在 uri 打上 /Home/Index, 如果有 id 的話, 可以變成 /Home/Index/1, 最後的網址就是 https://localhost:portNum/Home/Index/1

留言