Я только что наблюдал какое-то странное поведение сегодня с именами пути и параметрами метода Action, не совпадающими в случае десятичного числа, и совпадающими в случае строки. Это кажется странным для меня, и я хотел очистить свое замешательство относительно поведения. Чтобы проиллюстрировать это, у меня есть приведенный ниже код, который прекрасно работает
[HttpGet("BillingPlans/{premium}")]
public ActionResult GetDecimalBack(decimal premium)
{
return Ok();
}
Но если я изменю premium
в пути на Premium
, тогда он выдаст неверный запрос со значением премиум сообщения недействительным
[HttpGet("BillingPlans/{Premium}")]
public ActionResult GetDecimalBack(decimal premium)
{
return Ok();
}
Но если у меня есть какие-то другие параметры пути строки, он прекрасно работает.
[Route("BillingPlans/{LineOfBusiness}/{State}/{policyPremium}")]
[HttpGet]
public ActionResult GetBillingPlans(string lineOfBusiness, string state)
{
// Logic goes here
}
Я думаю, что я что-то упускаю, что может быть чем-то базовым c.