У меня есть простой контроллер с пользовательским типом модели Заголовок - без конструктора и параметров без параметров c setter .
Я попробовал следующий код в asp. net mvc ядро 2.2 и 3.1.
Класс модели:
public class Heading
{
public string Title { get; }
public Heading(string title)
{
Title = title;
}
}
Контроллер API:
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
[HttpPost]
public void Post([FromBody] Heading value)
{
}
}
С. net ядро 2.2, переплет работает отлично. Но для ядра 3.1 выдается ошибка
System.NotSupportedException: десериализация ссылочных типов без конструктора без параметров не поддерживается. Введите 'WebApplication3.Controllers.Heading' в System.Text. Json .ThrowHelper.ThrowNotSupportedException_DeserializeCreateObjectDelegateIsNull (введите invalidType)
Это изменение в поведении? Можно ли все еще достичь?