Код: Выделить всё
[HttpPost]
[Route("{input: OverloadModelA}")]
public IActionResult OverloadInsert([FromBody]OverloadModelA input)
{
return View();
}
[HttpPost]
[Route("{input: OverloadModelB}")]
public IActionResult OverloadInsert([FromBody]OverloadModelB input)
{
return View();
}
Код: Выделить всё
public class OverloadModelA
{
public string AName { get; set; }
}
public class OverloadModelB
{
public string BName { get; set; }
}
но «{input: OverloadModelA}» не работает и скажем
Код: Выделить всё
InvalidOperationException: The constraint reference ' OverloadModelA' could not be resolved to a type. Register the constraint type with 'Microsoft.AspNetCore.Routing.RouteOptions.ConstraintMap'.
Я использую .NET 8< /em>
Я нашел решение, основанное на https://stackoverflow.com/a/1045616/1539100, которое использует ActionMethodSelectorAttribute, но я думаю, что это очень сложное и неэффективное решение, поэтому я надеюсь, что кто-нибудь предложит более лучшее (чистое и хорошее решение) для моего вопроса.
Подробнее здесь: https://stackoverflow.com/questions/784 ... -http-body
Мобильная версия