У меня есть проект Web API, использующий .net core 2.2 (возможно, здесь есть проблема.)
Маршруты ожидают OAuth-авторизации с OpenIdDict, но это прекрасно работает для меня.Я пытаюсь очень простой подход:
Файл startup.cs просто содержит:
services.AddApiVersioning();
Контроллер API имеет три различных маршрута для целей тестирования.Обратите внимание, что сам контроллер не имеет аннотаций [Route ()] или [ApiVersion ()].
[HttpGet]
[Authorize]
[ApiVersion("2.0")]
[Route("api/v{version:apiVersion}/vt")]
public IActionResult GetVt20()
{
return Ok("2.0");
}
[HttpGet]
[Authorize]
[ApiVersion("1.0")]
[Route("api/v{version:apiVersion}/vt")]
public IActionResult GetVt10()
{
return Ok("1.0");
}
Если я сделаю авторизованный запрос, например,
http://localhost:27713/api/v1.0/vt
.net core ответит BadRequest:
{"error":{"code":"UnsupportedApiVersion","message":"The HTTP resource that matches the request URI 'http://localhost:27713/api/v1.0/vt' does not support the API version '1.0'.","innerError":null}}
Чего мне не хватает?