Я создаю веб-API с помощью ASP.NET Core и столкнулся с проблемой. У меня есть почтовый запрос, и я хочу передать ему объект муниципалитета в формате JSON. Проблема в том, что у меня есть свойство Name с атрибутом [Required]
. Я вызываю конечную точку, используя Postman с этой полезной нагрузкой JSON {"Name": "London"}
, и при проверке модели она говорит: «Поле Имя обязательно». даже при том, что это было определенно предоставлено.
Я пытался использовать атрибут [FromBody]
, но проблема с ним в том, что он не дает мне ошибок проверки и только говорит, что «вход был недействителен» и дает нулевой объект, поэтому отсутствие использования этого атрибута дает намного лучше ошибки.
Github: https://github.com/DeividasBrazenas/Taxes/blob/master/Taxes/Taxes/Controllers/BaseController.cs
BaseModel.cs
public class BaseModel
{
public int Id { get; set; }
}
Municipality.cs
public class Municipality : BaseModel
{
[Required]
public string Name { get; set; }
public ICollection<Tax> Taxes { get; set; }
}
MunicipalitiesController.cs
[EnableQuery]
public async Task<IActionResult> Post(Municipality baseObject)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
await Context.Set<Municipality>().AddAsync(baseObject);
await Context.SaveChangesAsync();
return Created(baseObject);
}
Скриншот POST-запроса -