基于属性的路由,与变量名称不同的参数 - aspnetcore

Attribute-based routing, arguments with different name to variable - aspnetcore

我需要这样做

[Route("/api/highfive/{person_name}")]
public IActionResult HighFive(string personName){
   //do stuff
}

有没有办法将变量 personName 映射到路由中作为 person_name 提供的内容?

只要路由参数和变量名匹配(有意义),下面的两个选项就可以工作。

[Route("/api/highfive/{person_name}")]
public IActionResult HighFive(string person_name){
   //do stuff
}

[Route("/api/highfive/{personName}")]
public IActionResult HighFive(string personName){
   //do stuff
}

But why do you want this??

binding source attributes 允许配置用于模型绑定的名称。在您的示例中,您从路由中获取值,这意味着您可以在参数上使用 FromRoute 属性:

[FromRoute(Name="person_name")] string personName