OData HttpPost -> Запрос данных, передаваемых как нулевые, как всегда для объекта модели - PullRequest
0 голосов
/ 27 ноября 2018

Я использую ODataController в нашем приложении, когда мы передаем объект модели как данные запроса методу http, он передается как нулевое значение.

В заголовке добавляются следующие значения:

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 как тип контента, чтобы действие публикации работало должным образом

...