Проблема с версиями API .NET Core 2.2 UnsupportedApiVersion - PullRequest
0 голосов
/ 10 июля 2019

Я создаю 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
    }
}

Пожалуйста, помогите мне решить эту проблему, если кто-то прошел через это.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...