Sử dụng con đường tiêu chuẩn:WebAPI Nhiều hành động được tìm thấy với GetAll() và GetByIds (int [] id)
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Với những hành động này:
public class ValuesController : ApiController
{
// GET api/values
public string GetAll()
{
return "all";
}
// GET api/values/5
public string GetById(int id)
{
return "single";
}
// GET api/values?ids=1&ids=2
public string GetByIds([FromUri] int[] ids)
{
return "multiple";
}
Và chắc yêu cầu /api/values , Tôi nhận ngoại lệ này:
Multiple actions were found that match the request:
System.String GetAll() on type MvcApplication4.Controllers.ValuesController
System.String GetByIds(Int32[]) on type MvcApplication4.Controllers.ValuesController
Tôi đã quay bánh xe của mình đang cố gắng để f giải quyết xung quanh điều này. Tôi tin rằng GetAll và Hành động GetByIds được coi là Nhiều tại đây, nhưng không phải vì GetByIds có chữ ký khác.
Có một công việc xung quanh việc này không liên quan đến việc thêm {action}
vào tuyến đường không?
bạn có thể đăng các WebAPI Route.Config? – Fals
Đã thêm @Fals, đó là các bit chuẩn – Levitikon