In ASP.NET Core 2.1 and above you can use top level parameters validation.
You can put attributes on parameters
[HttpGet]
public IActionResult GetDices([BindRequired, Range(1, 6)]int number)
{
if (!ModelState.IsValid)
{
return BadRequest("Invalid number");
}
return Ok(_diceRepo.GetDices(number));
}
More about this
https://programmingcsharp.com/asp-net-parameter-validation/#Top-level_node_validation