我需要这样做
[Route("/api/highfive/{person_name}")]
public IActionResult HighFive(string personName){
//do stuff
}
是否可以将变量personName映射到路线中作为person_name提供的内容?
下面两个选项都可以工作-只要route参数和变量名之间存在匹配(这是有道理的)。
[Route("/api/highfive/{person_name}")]
public IActionResult HighFive(string person_name){
//do stuff
}
[Route("/api/highfive/{personName}")]
public IActionResult HighFive(string personName){
//do stuff
}
但是为什么要这样?
Swagger生成的文档必须与以前的API匹配,正在替换-并且它使用route中的变量名来生成文档。
使用person_name作为变量名违反了我们的命名约定
是的,这很愚蠢-但是如果我不知道有一个简单的解决方法,那将非常棒。
答案 0 :(得分:1)
binding source attributes允许配置用于模型绑定的名称。在您的示例中,您从路由中获取值,这意味着您可以在参数上使用FromRoute
属性:
[FromRoute(Name="person_name")] string personName