下記のJSONデータをPOSTしてみましょう。
{
"Name" = "AIMEK",
"Age" = 17
}
"Name" = "AIMEK",
"Age" = 17
}
Postメソッドの引数valueに文字列が渡ってくるのかと思いましたが、valueはnullでした。
public void Post([FromBody]string value) { }そこで、下記のクラスを作成します。
public class User { public string Name { get; set; } public int Age { get; set; } }Postメソッドの引数をUserクラスに変更してみます。
public void Post([FromBody]User value) { }すると、JSONデータがUserクラスにバインドされ、各プロパティに送信された値がちゃんと入っています。
ただ、送信されるデータごとにクラスを作成するとクラスが増える一方ですよね。
このような使い捨てのクラスであれば、匿名クラスを定義し、デシリアライズすることもできます。
また、匿名クラスで返してやれば、レスポンスとしてJSONデータが返ります。
public object Post([FromBody]object value) { var type = new { Name = string.Empty, Age = 0, }; var user = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(value.ToString(), type); return new { Result = 0, Status = "Success", }; }
またいつか、どこかで。
0 件のコメント:
コメントを投稿