私は WebApi2 で遊んでいて、奇妙な問題に遭遇しました。
IHttpActionResult を使用するようにデフォルトの ValuesController を更新しました
お気に入り
public class ValuesController : ApiController
{
// GET api/values
[HttpGet]
public IHttpActionResult Get()
{
return Ok(new string[] { "value1", "value2" });
}
// GET api/values/get2
[HttpGet]
public IHttpActionResult Get2()
{
return Ok(new string[] { "value1", "value2" });
}
郵便配達員内で Get() を呼び出そうとすると、エラーが発生します
{ "Message": "エラーが発生しました。", "ExceptionMessage": "リクエストに一致する複数のアクションが見つかりました: \r\nSystem.Web.Http.IHttpActionResult Get() on type WebApplication1.Controllers.ValuesController\r\ nSystem.Web.Http.IHttpActionResult Get2() on type WebApplication1.Controllers.ValuesController", "ExceptionType": "System.InvalidOperationException", "StackTrace": " at System.Web.Http.Controllers.ApiControllerActionSelector.ActionSelectorCacheItem.SelectAction(HttpControllerContext) controllerContext)\r\n System.Web.Http.Controllers.ApiControllerActionSelector.SelectAction(HttpControllerContext controllerContext) で\r\n System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext,CancellationToken cancelToken)\r\n System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncCore(HttpRequestMessage request, CancellationToken cancelToken) で\r\n System.Web.Http.Dispatcher.HttpControllerDispatcher.d__0.MoveNext()" }
これを機能させるには、それぞれのルートを手動で作成する必要がありますか?
とても単純なことですが、頭が痛くなります。