jsonオブジェクトのPOSTリクエストを行い、それをクラスに変換しようとしていますが、動作していません。ここでは、オブジェクトを送信するだJSです:WebAPI POSTリクエストパラメータがnullです
var TheAjaxData = {
'Property1': 'TheValue1',
'Property2': 'TheValue2',
'Property3': 'TheValue3'
}
$.ajax({
url: "/thewebapi/themethod",
type: "POST",
data: TheAjaxData,
contentType: 'application/json; charset=utf-8',
success: function (msg, textStatus, request) {
console.log(msg);
}
});
WebAPIのは、私は、ルーティングが正しいことを知っているが、TheObject
がnullのリクエストを受信します。これはコードです:
[RoutePrefix("thewebapi")]
public class TheWebAPIController : ApiController
{
[Route("themethod")]
public HttpResponseMessage Post([FromBody] TheRequestObjectModel TheObject)
{
var testvalue = TheObject.Property1;
}
public class TheRequestObjectModel
{
public string Property1 { get; set; }
public string Property2 { get; set; }
public string Property3 { get; set; }
}
}
これはGETではなくPOSTで動作する必要があります。私は近いと思うけど、うまくいきません。私が送信するオブジェクトをTheRequestObjectModel
に変換するには、何を変更する必要がありますか?ありがとう。
ペイロード 'data:JSON.stringify(TheAjaxData)'を文字列化する必要があります。 – Nkosi