2013-10-01 13 views
1

我有我的控制器如何區別與網頁API相同的參數三種樁方法

  1. PostProjectData([FromBody] myObject的對象)

  2. PostCustData三種樁操作方法([FromBody]爲MyObject對象)

  3. PostBookData([FromBody]爲MyObject對象)

那麼Web API如何識別每種方法?

在此先感謝

+0

完全同意*保持愚蠢*。你應該將你的顧慮分成三個不同的控制器。 –

回答

2

您認爲這是一個很好的Web API平臺設計嗎?

我認爲這將是最好有

ProjectController將採取PostProjectData([FromBody] myObject的對象)

CustController將採取PostCustData的照顧護理([FromBody] myObject的對象)

BookController的,將採取PostBookData([FromBody] myObject的對象)

如果你真的想要去與這種方式,照顧你可以設置按以下方式路由。

config.Routes.MapHttpRoute(
       string.Empty, 
       "yourroute1", 
       new { controller = "yourcontroller", action = "PostProjectData" }, 
       new { httpMethod = new HttpMethodConstraint(HttpMethod.Get.Post) } 
      ); 
config.Routes.MapHttpRoute(
       string.Empty, 
       "yourroute2", 
       new { controller = "yourcontroller", action = "PostCustData" }, 
       new { httpMethod = new HttpMethodConstraint(HttpMethod.Get.Post) } 
      ); 
config.Routes.MapHttpRoute(
       string.Empty, 
       "yourroute3", 
       new { controller = "yourcontroller", action = "PostBookData" }, 
       new { httpMethod = new HttpMethodConstraint(HttpMethod.Get.Post) } 
      ); 

但我覺得應該重新設計控制器,因爲資源是Project,Cust和Book。他們應該有自己的控制器。是對的嗎?

+0

我同意將帖子分開給不同的控制器,因爲它們是不同的動作。 – Cookie

相關問題