我需要做这个
[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
}
但是你为什么想要这个??
Swagger生成的文档必须与以前的API的文档相匹配,这是替换-它使用路由中的变量名来生成文档。
使用person_name作为变量名违反了我们的命名约定
是的,这有点傻——但如果有一个我不知道的简单解决方案,那就太棒了。
绑定源属性允许配置用于模型绑定的名称。在您的示例中,您从路由中获取值,这意味着您可以在参数上使用FromRoute
属性
[FromRoute(Name="person_name")] string personName