Я создаю API, и мне нужно, чтобы в нем было сделано управление версиями.Я использую пакет Microsoft.AspNetCore.Mvc.Versioning 3.1.3
Мой StartUp.cs выглядит следующим образом
В ConfigureServices
services.AddApiVersioning(o => {
o.ReportApiVersions = true;
o.AssumeDefaultVersionWhenUnspecified = true;
o.DefaultApiVersion = new ApiVersion(1, 0);
});
services.AddMvc(options => options.EnableEndpointRouting = false).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
Мои 2 контроллера, на которых яхотите сделать управление версиями, как показано ниже
namespace JWTWithRefresh.Areas.V1.CMS
{
[AllowAnonymous]
[ApiVersion("1.0")]
[Route("api/[controller]/[action]")]
public class AppController : Controller
{
public IActionResult GetApp()
{
return Ok("This is from API V1");
}
}
}
, а другой контроллер показан ниже
namespace JWTWithRefresh.Areas.V2.CMS
{
[AllowAnonymous]
[ApiVersion("2.0")]
[Route("api/[controller]/[action]")]
public class AppController : Controller
{
public IActionResult GetApp()
{
return Ok("This is from API V2");
}
}
}
Ответ, который я получаю, когда я совершаю вызов, выглядит следующим образом
Конечная точка = https://localhost:5001/api/App/GetApp?api-version=1.0
Ответ =
{
"error": {
"code": "UnsupportedApiVersion",
"message": "The HTTP resource that matches the request URI 'https://localhost:5001/api/App/GetApp' is not supported.",
"innerError": null
}
}
Пожалуйста, помогите мне решить эту проблему, если кто-то прошел через это.
Спасибо