2
私は以下のように異なるデータ型を持つ2つのPOSTメソッドを持つことができます -Web APIを複数のポスト方法は
[HttpPost]
public HttpResponseMessage Post([StringBody]string data)
{
// Logic
}
[HttpPost]
public HttpResponseMessage Post(Requirements objRequirement)
{
//Logic
}
私は郵便配達で、エラーの下に取得しています: -
<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>Multiple actions were found that match the request:
System.Net.Http.HttpResponseMessage Post(Newtonsoft.Json.Linq.JObject) on type ATL.Trebuchet.RestApi.Controllers.ValuesController
System.Net.Http.HttpResponseMessage Post(ATL.Trebuchet.RestApi.Models.Requirements) on type ATL.Trebuchet.RestApi.Controllers.ValuesController</ExceptionMessage>
<ExceptionType>System.InvalidOperationException</ExceptionType>
<StackTrace> at System.Web.Http.Controllers.ApiControllerActionSelector.ActionSelectorCacheItem.SelectAction(HttpControllerContext controllerContext)
at System.Web.Http.Controllers.ApiControllerActionSelector.SelectAction(HttpControllerContext controllerContext)
at System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncInternal(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)</StackTrace>
</Error>
助けてくださいどのように異なるタイプのパラメータで同じPostメソッドを持つことができますか
私はText (text/plain)
EDIT 1:
をサポートしていません新しいクラスを追加することを教えてくださいedit1 –
[Route( "")]の同じクラス用の生成クラス –
申し訳ありません、使用していませんでしたweb api 1. Web api 2では、私の解決策が基づいている属性ルーティングを使用することができます –