为什么发送到POST的类对象即将为NULL?

时间:2019-04-22 17:46:44

标签: c# asp.net post asp.net-web-api postman

我在api控制器中有此POST方法。

public void Post(EngineeringData EngineeringData)
{
    EngineeringDataDAL EngDataDAL = new EngineeringDataDAL();

    EngDataDAL.InsertEngineeringData(EngineeringData);
}

我正在使用POSTMAN向其发送测试数据。

 EngineeringData = {
    'FunctionalLocation': 'Functional1',
    'WINFileNo': 'WinFileNo-01',
    'EqptType': 'EqptType-01',
    'ComponentTagNo': 'Componenttag-01'
}

,但是方法的参数为null。为什么?

EngineeringData.cs

public class EngineeringData
{
    public int EnggDataID { get; set; }
    public string FunctionalLocation { get; set; }
    public string WinFileNo { get; set; }
    public string EqptType { get; set; }
    public string ComponentTagNo { get; set; }
}

3 个答案:

答案 0 :(得分:3)

  

我在api控制器中有此POST方法。

 public void Post(EngineeringData EngineeringData)

您可能缺少的是

 public void Post([FromBody] EngineeringData EngineeringData)

答案 1 :(得分:2)

如果您在请求中包含EngineeringData=,则可能是原因。据我所知,ASP.Net希望正文为纯JSON,而不是表单数据。

答案 2 :(得分:0)

document.getElementById("1").innerHTML=""

尝试传递此数据。我相信它必须是有效的JSON数据才能传递给控制器​​以接受参数。同样不确定是否需要在=号之前使用left参数。