Является ли имя параметра маршрута чувствительным к регистру в Web Api Core C# - PullRequest
0 голосов
/ 21 апреля 2020

Я только что наблюдал какое-то странное поведение сегодня с именами пути и параметрами метода 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.

...