У меня есть приложение ASP.Net Core 2.1
.
Ниже приведены мои билеты DTO
public class Movie
{
public int Id { get; set;}
public bool IsSpecial {get; set;}
public IEnumerable<Ticket> Tickets { get; set; }
public Movie()
{
if(IsSpecial)
{
this.Tickets = new List<TicketSpecial>();
}
else
{
this.Tickets = new List<Ticket>();
}
}}}
(базовый класс)
public class Ticket
{
public int Id { get; set;}
public string Name { get; set;}
public decimal price { get; set;}
}
TicketsSpecial (Child / Derived Class)
public class TicketsSpecial : Ticket
{
public string SpecialProp1 { get; set;}
public string SpecialProp2 { get; set;}
}
Контроллер WebAPI
public class MovieController : ControllerBase
{
public IActionResult Post([FromBody]Movie movie)
{
}
}
Почтальон (полезная нагрузка HTTPPost Req Content-Type = application/json
)
{
"IsSpecial": true,
"SpecialProp1": "Mumbai Test",
}
Когда я вызываю вышеуказанный API через Почтальон& debug в Movie Ctor, он всегда ловит значение IsSpecial = false
и значение по умолчанию для всех полей (например, для строкового типа null)
Спасибо!