Как реализовать управление версиями пользовательских заголовков на уровне контроллера с наследованием?
У меня есть ниже структура контроллера -
1. ValuesController : Controller 2. ValuesV2Controller : ValuesController 3. ValuesV3Controller : ValuesV2Controller 4. ValuesV4Controller : ValuesV3ControllerВсе контроллеры имеют один общий метод Get(Type value); для получения конкретной записи. Тип значения отличается в каждом контроллере.
Я реализовал управление версиями в ASP.NET основные веб-API с Microsoft.AspNetCore.Mvc.Versioning Nugget.
В startup > Configure services; входит приведенный ниже набор кода :
services.AddApiVersioning(o => { o.ApiVersionReader = new HeaderApiVersionReader("x-lz-api- version"); o.DefaultApiVersion = new ApiVersion(1, 0); o.ReportApiVersions = true; o.AssumeDefaultVersionWhenUnspecified = true; });Когда мы вызываем api V1, V2, V3, то это дает 500 не найденных ошибок, особенно для управления версиями, выполняемых с пользовательским заголовком.
Опробованы ниже возможные решения: 1. Создание виртуального базового класса и переопределение производных классов от них, но поскольку тип отличается, это не работает. 2. Эта проблема не возникает для управления версиями URL-адресов, это очень специфично для пользовательского управления версиями заголовков.
Что я уже пробовал:
Опробованы ниже возможные решения:
1. Создание виртуального базового класса и переопределение производных классов от них, но поскольку тип отличается, это не работает.
2. Эта проблема не возникает для управления версиями URL-адресов, это очень специфично для пользовательского управления версиями заголовков.