如何从 MVC 控制器中的 IHttpActionResult 获取body数据



我有ApiController,它接收类的特定对象。这很完美,但是如果包含带有JSON的正文的HTTP请求与类的对象不匹配怎么办?我将收到对象的空值,因为 JSON 和类的对象之间不匹配。我的问题是,当用户发送格式不正确的 JSON 时,如何获取原始 JSON 请求?

public class Document{
string name;
int number;
}

JSON 请求

{
   "name":"Default name",
   "number":91526861713"
}

JSON 不正确,因为数字的数据类型是 int,而不是字符串"234"!自动文档函数中的对象等于空。如何获取原始 JSON 请求?

[HttpPost]
public IHttpActionResult Receiving([FromBody]Document documentObject)
{
}

你可以使用Request.Content,但outputraw字符串。

喜欢这个:

[HttpPost]
public async Task<IHttpActionResult> Receiving([FromBody]Document documentObject)
{
     var content = await Request.Content.ReadAsStringAsync();
     return Json(content); // output => "name=xxx&number=123"
}

相关内容

  • 没有找到相关文章

最新更新