Маршрутизация на основе атрибутов, аргументы с разными именами для переменных - 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
}
Но почему ты этого хочешь??
Swagger генерирует документацию, которая должна соответствовать документации предыдущего API, он заменяет ее и использует имена переменных из маршрута для создания документации.
использование person_name в качестве имени переменной противоречит нашим соглашениям об именах
Да, это немного глупо - но если есть легкое исправление, о котором я не знаю, это было бы здорово.
0 ответов
Эти обязательные атрибуты источника позволяют конфигурации имя, используемое для модели-связывания. В вашем примере вы получаете значение из маршрута, что означает, что вы можете использоватьFromRoute
атрибут параметра:
[FromRoute(Name="person_name")] string personName