2017-03-29 70 views
0

當我使用Web API 2時,發現web api的路由稍有變化。web api中的默認路由

config.Routes.MapHttpRoute(
       name: "DefaultApi", 
       routeTemplate: "api/{controller}/{id}", 
       defaults: new { id = RouteParameter.Optional } 
      ); 

我明白路由的工作。我還發現,默認情況下,路由中沒有方法名稱,儘管我們可以修改路由併爲操作/方法添加添加模式。但我的問題是創建這樣的路由背後的想法是什麼。

謝謝 Susheel

+0

請問您能澄清一下您的問題嗎?你的意思是「創建這樣的路由後面的想法」一般的路由機制?你指的是路由中的變化?一個不同的版本?如果是,那麼以前的哪一個和您正在測試的當前版本是什麼? –

回答

0

沒有操作,因爲這個想法是,你可以爲每個HTTP動詞的方法。例如

public IHttpActionResult Get() 

public IHttpActionResult Get(int id) 

public IHttpActionResult Post() 

public IHttpActionResult Put(int id) 

使用的動詞決定調用哪種方法。

這個想法是,控制器應該是非常具體的關於他們與什麼有關。
因此,您可能有一個處理添加和更新人員的「PersonController」,以及一個處理訂單的「OrdersController」。

很明顯,這在實踐中並不像直截了當,因爲控制器最終比實體類型的CRUD操作更廣泛。

+0

謝謝你把我從困惑中解救出來。 –