Суммируя решение проблемы github, связанной с Athi S, вы должны сделать следующее:
В ConfigureServices внутри файла Startup.cs:
services.AddApiVersioning(o =>
{
o.AssumeDefaultVersionWhenUnspecified = true;
o.ApiVersionSelector = new CurrentImplementationApiVersionSelector(o);
// o.DefaultApiVersion = new ApiVersion(1, 0);
});
При желании вы можете установить ApiVersionSelector на новый экземпляр CurrentImplementationApiVersionSelector.Это автоматически выбирает самую высокую версию API, зарегистрированную в контроллерах.Например, контроллер, украшенный [ApiVersion ("1.2")], имеет приоритет над [ApiVersion ("1.1")].
Если вы хотите явно указать версию api по умолчанию, вы можете оставить ApiVersionSelector в DefaultApiVersionSelectorи установка DefaultApiVersion на требуемую версию API.
В ваших контроллерах:
Зарегистрируйте необходимые маршруты, украсив свои контроллеры с заданными атрибутами Route
[Route("api/[controller]")]
Или, если вы хотите, чтобы API работал как с указанным номером версии API, так и без него, вы можете сделать это, объявив два маршрута для контроллера.
[Route("api/[controller]")]
[Route("api/v{version:apiVersion}/[controller]")]