Web API错误信息:
{"Message":"An error has occurred.","ExceptionMessage":"Multiple actions were found that match the request: \r\nSystem.Collections.Generic.IEnumerable`1[Lybing.Invoice.DataContract.Product] Get(Lybing.Invoice.Business.Model.ProductSearch) on type Lybing.Invoice.Web.ApiControllers.ProductController\r\nSystem.Collections.Generic.IEnumerable`1[Lybing.Invoice.DataContract.Product] GetAll() on type Lybing.Invoice.Web.ApiControllers.ProductController\r\nSystem.Collections.Generic.IEnumerable`1[Lybing.Invoice.DataContract.Product] Get() on type Lybing.Invoice.Web.ApiControllers.ProductController","ExceptionType":"System.InvalidOperationException","StackTrace":" at System.Web.Http.Controllers.ApiControllerActionSelector.ActionSelectorCacheItem.SelectAction(HttpControllerContext controllerContext)\r\n at System.Web.Http.Controllers.ApiControllerActionSelector.SelectAction(HttpControllerContext controllerContext)\r\n at System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncInternal(HttpRequestMessage request, CancellationToken cancellationToken)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)"}
原来默认的API路由为:
routes.MapHttpRoute( name: "API Default", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional });
修改routTemplate:
routes.MapHttpRoute( name: "API Default", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional });
恢复正常。
时间: 2024-10-16 21:40:10