Я использую ODataController в нашем приложении, когда мы передаем объект модели как данные запроса методу http, он передается как нулевое значение.
В заголовке добавляются следующие значения:
content-type: application/json
accept-type : application/json
снимок экрана ниже
![enter image description here](https://i.stack.imgur.com/KLbD3.png)
мы используем плагин отдыхающего почтальона для проверки потока запросов и ответов.
КонтроллерКод:
[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 как тип контента, чтобы действие публикации работало должным образом