我已经花了整整一天的时间,现在我已经很秃头了。WebAPI后发现多个操作 - 为什么这不工作?
控制器:
[HttpPost]
public HttpResponseMessage AddSet(SetDto set)
[HttpPost]
[ActionName("copy")]
public HttpResponseMessage CopySet([FromUri]int[] ids)
路线依次为:
routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
routes.MapHttpRoute(
name: "Set",
routeTemplate: "api/set/{id}",
defaults: new { controller = "set", id = RouteParameter.Optional }
);
我打电话copy
与POST /api/set/copt/ids
,并add
与POST /api/set
。我究竟做错了什么?
完整的错误:
"exceptionMessage": "Multiple actions were found that match the request: \r\nSystem.Net.Http.HttpResponseMessage AddSet(App.Repository.Models.Dtos.SetDto) on type App.Service.Controllers.SetController\r\nSystem.Net.Http.HttpResponseMessage
CopySet(Int32[]) on type App.Service.Controllers.SetController",
我也让“API/{controller}/{action}/{id}“,我很清楚地有一个请求遵循以下模式:POST/api/set – RobVious
你说得对,我的不好。 –