在我的Controller
[HttpGet]
public string Get([FromQuery] QueryObject obj)
{
return "value";
}
public class QueryObject
{
public int Number { get; set; }
}
当我使用此URL调用Get方法时
http://localhost/MyController <?强>数= HELLO
我最终得到一个数字= 0
的QueryObject
个实例
为什么会这样?查询显然是一个不好的请求,因为Number
是一个整数,查询有一个string
。
答案 0 :(得分:3)
模型绑定将尝试解析请求并绑定到对象的属性。如果它无效,那么您将在ModelState对象中发现错误。
e.g。
if (!ModelState.IsValid)
{
// The ModelState is a Dictionary
// holding details of the model binding errors
}
了解更多信息:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/validation