OData HttpPost->请求数据始终以null的形式传递给模型对象

时间:2018-11-27 06:21:43

标签: c# asp.net-web-api asp.net-mvc-5 asp.net-web-api2 odata

我在应用程序中使用ODataController,当我们将模型对象作为请求数据传递给http post方法时,它作为空值传递。

以下值将添加到标题中:

content-type: application/json
accept-type : application/json

下面的屏幕截图

enter image description here

我们正在使用邮递员休息客户端插件检查请求和响应流。

控制器代码:

    [ControllerName("Bills")]
    public class BillsController : ODataController
    {

    [HttpPost]
        [ODataRoute]
        public IHttpActionResult Post(Bills bills)
        {
            List<Bills> projectList = new List<Bills>();

            projectList = billingPostgresBusinessService.GetAllBills();

            return Ok(projectList);
        }
}

PostMan数据:

Url : https://localhost:44367/odata/v1/Bills

模型类

public class Bills
    {
        public Bills()
        {

        }

        [Key]
        public string ProjectId { get; set; }

        public string ProjectName { get; set; }

        public List<ProjectDetail> Details { get; set; }
    }

    public class ProjectDetail
    {
        public string AmountDueDate { get; set; }
        public string TotalDueDate { get; set; }

    }

请求数据:

{
            "projectId": 1000,
            "projectName": "Project0",
            "details": [
                {
                    "amountDueDate": "1/21/2015",
                    "totalDueDate": "1/25/2015"
                },
                {
                    "amountDueDate": "12/11/2011",
                    "totalDueDate": "12/15/2011"
                }
            ]
}

更新

当我如下更改标题时,它工作正常

'Content-Type': 'application/x-www-form-urlencoded'

我们如何将application / json作为内容类型传递,以使发布操作应正常工作

0 个答案:

没有答案