Kje*_*sen 2 c# swagger .net-core asp.net-core nswag
我需要这样做
[Route("/api/highfive/{person_name}")]
public IActionResult HighFive(string personName){
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将变量 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
}
Run Code Online (Sandbox Code Playgroud)
但你为什么想要这个?
Swagger 生成的文档必须与之前的 API 相匹配,这正在替换 - 并且它使用路由中的变量名称来生成文档。
使用 person_name 作为变量名违反了我们的命名约定
是的,这有点愚蠢 - 但如果有一个我不知道的简单解决方案,那就太棒了。
绑定源属性允许配置用于模型绑定的名称。在您的示例中,您从路由中获取值,这意味着您可以FromRoute在参数上使用该属性:
[FromRoute(Name="person_name")] string personName
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1373 次 |
| 最近记录: |