Вы можете решить эту проблему, определив несколько маршрутов поверх метода контроллера
[HttpGet("GetValues")]
[HttpGet("GetValues/{name}/{surname}")]
public string GetValue(string name, string surname)
{
return "Hi" + name;
}
Это будет работать с http://localhost:11979/api/values/GetValues/John/lawrance
и http://localhost:11979/api/values/GetValues?name=john&surname=lawrance
Чтобы добавить больше:
[HttpGet]
[Route("GetValues")]
[Route("GetValues/{name}/{surname}")]
public string GetValue(string name,string surname)
{
return "Hello " + name + " " + surname;
}
Это тоже работает.