我在 ASP.NET MVC API 中解析我的模型时遇到了一些问题
这是我的 API 控制器:
public class UserController : ApiController
{
// Hent liste af personer
public IEnumerable<UserModel> Get()
{
return new UserModel[] { new UserModel(), new UserModel() };
}
// Hente enkelt person
public UserModel Get(int id)
{
return new UserModel();
}
// Opret person
[ValidationActionFilter]
public CreateUserRespose Post([FromBody]UserModel model)
{
CreateUserRespose rs = new CreateUserRespose();
return rs;
}
// Rediger person
public UserModel Put(int id, [FromBody]UserModel model)
{
return new UserModel();
}
// Slet person
public UserModel Delete(int id)
{
return new UserModel();
}
}
}
和用户模型:
public class UserModel
{
[Required]
[StringLength(500)]
public String FristName { get; set; }
[Required]
[StringLength(500)]
public String LastName { get; set; }
[Required]
[StringLength(250)]
public String Email { get; set; }
[Required]
public String MatrikelId { get; set; }
}
当我通过 Fiddler 使用以下正文调用 Post 命令时
FirstName=Fistname MiddleName&LastName=SomeName&Email=email@email.us&MatrikelId=1234
是否会调用 Post 操作,但模型为空,并且 ModelState.IsValid 为真,如果我不发送正文数据,也会发生同样的情况!我在这里做错了什么?
更新:我尝试将数据作为 json 而不是 Fiddler 发送:
User-Agent: Fiddler
Host: localhost:51268
Content-Length: 102
Content-type: application/json
{"FristName":"Kasper asdasd","LastName":"asdasdasd","Email":"asdaasd@asdasd.us","MatrikelId":"132456asd"}
但是当模型为空时,模型状态不应该是无效的吗?