私は自分のコントローラに2つのWeb APIメソッドを用意しようとしています。 1つは、ヘッダーにMyViewModel
オブジェクトを指定してGETを呼び出したときのものと、そうでないものの1つです。私は、パラメータのないメソッドをコメントアウトし、休憩を入れた場合GETとパラメータなしのGETはAmbiguousActionExceptionを引き起こしますか?
AmbiguousActionException: Multiple actions matched. The following actions matched route data and had all constraints satisfied:
MyController.Get (MyProject)
MyController.Get (MyProject)
:
MyController.cs:
[Produces("application/json")]
[Route("api/[controller]")]
public class MyController : Controller
{
[HttpGet]
public IEnumerable<UserModel> Get()
{
// ...
}
[HttpGet]
public IEnumerable<UserModel> Get(MyViewModel viewModel)
{
// ...
}
}
しかし、いずれにMyViewModel
を通過することなくChromeのルートアドレスにブラウジングは私に、このエラーが発生しますパラメータ化された関数を指し、APIのURLを参照すると、私は期待したようにがnull
であるのではなく、それは新しいMyViewModel
オブジェクトであるようですエスコンストラクタ。私の問題に関連しているようです。
私はMicrosoft.AspNetCore v1.1.2デベロッパーとMicrosoft.AspNetCore.Mvc v1.1.3デベロッパー上で実行していますよ。