Asp.net mvc 4 如何在webapi中区分参数相同的三种POST方法
我的控制器中有三种后期操作方法Asp.net mvc 4 如何在webapi中区分参数相同的三种POST方法,asp.net-mvc-4,asp.net-web-api,Asp.net Mvc 4,Asp.net Web Api,我的控制器中有三种后期操作方法 项目后数据([FromBody]MyObject对象) PostCustomData([FromBody]MyObject对象) PostBookData([FromBody]MyObject对象) 那么Web API将如何识别每个方法 提前感谢您认为在Web API平台中这是一个很好的设计吗 我想最好是 负责后期项目数据的ProjectController([FromBody]MyObject对象) 将处理PostCustomData([FromBody]MyO
提前感谢您认为在Web API平台中这是一个很好的设计吗 我想最好是 负责后期项目数据的ProjectController([FromBody]MyObject对象) 将处理PostCustomData([FromBody]MyObject对象)的CustController 负责PostBookData([FromBody]MyObject对象)的BookController 如果您真的想采用这种方式,您可以按照以下方式设置路由
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) }
);
但我认为你应该重新设计控制器,因为资源是项目、客户和书籍。他们应该有自己的控制器。是吗?完全同意保持愚蠢。你应该把你的关注分为三个不同的控制者。我同意把帖子分为不同的控制者,因为它们是不同的行为。