我正在从Postman发送一个Post函数给这个函数
[System.Web.Http.AcceptVerbs("GET", "POST")]
[System.Web.Http.HttpPost]
public string saveOrder([FromBody]JObject json)
{
//OrderSpecifications orderSpecifics = JsonConvert.DeserializeObject<OrderSpecifications>(json.ToString());
var dictionary = new Dictionary<string, string>();
//dictionary.Add("result", orderSpecifics.FirstName);
return json.ToString();
}
这是我的邮递员的屏幕截图。
为什么函数中收到的JSON对象为NULL?
答案 0 :(得分:1)
您在模型绑定中遇到问题。 ASP.Net无法将HTML主体转换为服务器端预期的模型。查看这篇文章。
WebAPI POST [FromBody] not binding
之后,还要检查一下有关模型绑定的最佳实践。
答案 1 :(得分:0)
我发现了问题。 问题是我发送的是datetime对象,因为它也在json中。 当我在json中改变了以下的变量。它运作良好。
"OrderDateTime":"2017-01-01 12:00:00.000",
"ConfirmedDateTime":"2017-01-01 12:00:00.000",
"DeliveryTime":"14:32",
"DeliveryMinutes":"12:32"
PS:在Json解析器中检查你的Json,检查它是否是正确的格式,如果其他一切似乎都没问题。