Fork me on GitHub

ASP.NET WebApi JObject 使用

ASP.NET WebApi 中使用非Get请求,传递参数需要用对象包裹起来,比如:

[HttpPost]
public async Task<IActionResult> PostValue([FromBody]PostDTO data)
{
    return Ok(await _valuesService.Post(data.Name, data.Value););
}

但如果操作比较多的话,我们需要对每个Api创建一个DTO对象,如果传递的参数很少,这样创建对象就有点太浪费,并且ApplicationService接口参数都是拍扁的,很少会传递DTO对象作为参数。

怎么解决这个问题呢?很简单,使用JObject就可以了,示例:

using Newtonsoft.Json.Linq;

[HttpPost]
public async Task<IActionResult> PostValue([FromBody]JObject data)
{
    return Ok(await _valuesService.Post(data["name"].ToObject<string>(), data["value"].ToObject<string>()););
}
posted @ 2017-04-21 14:06  田园里的蟋蟀  阅读(5510)  评论(4编辑  收藏  举报