Я пытаюсь настроить контроллер oData для своего основного проекта Asp.Net.
Get/GetSingle/Delete/Patch
работает как шарм.
Но мой почтовый запрос, моя входящая модель всегда имеет все свойства, равные нулю.
Я использую Asp.Net.Core 2.2 и oData 7.1
public async Task<ActionResult<TViewModel>> Post(TViewModel item)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
try
{
var addedEntity = await _manager.AddAsync(_mapper.Map<TModel>(item));
return Ok(_mapper.Map<TViewModel>(addedEntity));
}
catch (CreateException)
{
return BadRequest();
}
}
Это моя модель:
public class UserViewModel : IViewModel
{
public Guid? Id { get; set; }
public string SecurityStamp { get; set; }
public Gender? Gender { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
public string PhoneNumber { get; set; }
public IEnumerable<string> Roles { get; set; }
}
И это моя просьба:
И вот мой результат:
Вам необходимо указать [FromBody]
параметр контроллера, чтобы платформа могла правильно привязаться к вашей модели. См. Документацию по привязке модели в ASP.NET Core .
Пытаться:
[HttpPost]
public async Task<ActionResult<TViewModel>> Post([FromBody] TViewModel item)
{
// your code
}
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения