当将错误或空值传递给数字参数时,它会被解析为 0。例如,如果您调用类似这样的东西 -> /api/getValue?id=abc
id 是一个整数,id 将有一个 0 值而不是抛出异常。
如果调用具有空值,也会发生同样的情况 -> /api/getValue?id=
有什么方法可以使这个错误抛出异常而不是将错误的值传递给方法?
顺便说一句,使用可为空的 int 使您无法使用无参数重载,因此它不是解决方案。
试试这个:
[HttpGet("{id}")]
public IActionResult Get(int id)
{
if(!ModelState.IsValid)
{
return BadRequest();
}
return Ok();
}
在ModelState.IsValid
如果一个非数字值作为参数传递将是错误的。如果你愿意,你可以在 if 语句中抛出一个异常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句