我想在我的控制器中有兩個Web API方法。其中一個用於在標題中使用MyViewModel
對象調用GET,另一個則不使用。GET和無參數GET導致AmbiguousActionException?
MyController.cs:
[Produces("application/json")]
[Route("api/[controller]")]
public class MyController : Controller
{
[HttpGet]
public IEnumerable<UserModel> Get()
{
// ...
}
[HttpGet]
public IEnumerable<UserModel> Get(MyViewModel viewModel)
{
// ...
}
}
但瀏覽到Chrome中的路由地址不傳遞任何MyViewModel
給了我這個錯誤:
AmbiguousActionException: Multiple actions matched. The following actions matched route data and had all constraints satisfied:
MyController.Get (MyProject)
MyController.Get (MyProject)
如果我註釋掉的參數方法,把一個破發指向參數化函數並瀏覽到api URL,它看起來像是viewModel
是null
就像我預料的那樣,它似乎是一個新的MyViewModel
對象用參數1 ess構造函數。似乎它可能與我的問題有關。
我對Microsoft.AspNetCore V1.1.2和Microsoft.AspNetCore.Mvc V1.1.3運行。