0
我有一个post方法,参数School
每次调用时都是空的。我一定要发送正确的数据,我使用Postman,但是当我用断点检查它时,我得到一个空对象。为什么我的发布方法没有收到它发送的数据?
我与邮差派:
{
"Id": "",
"Name": "Test"
}
控制器:
[HttpPost]
public IActionResult Post([FromBody] School school)
{
try
{
if (!ModelState.IsValid)
{
return BadRequest();
}
var schoolData = Mapper.Map<School, Data.School>(school);
var schoolModel = _schoolRepository.AddSchool(schoolData);
return CreatedAtRoute("GetSchool", new { id = schoolModel }, schoolModel);
}
catch (Exception e)
{
return LogException(e);
}
}
型号:
public class School
{
public Guid Id { get; set; }
[Required(ErrorMessage = "Name is required")]
public string Name { get; set; }
public IEnumerable<Teacher> Teachers { get; set; }
public IEnumerable<Class> Classes { get; set; }
}
问题是''“'不是一个有效的'Guid'。如果你不想发送'Id',将它从模型绑定中排除 –
@CamiloTerevinto是的,你说的没错,我只是想,因为“Id”没有必要的属性,所以应该让它通过。你可以添加这个作为答案和恶意标记 –