NSwag Наследование и полиморфизм
У меня есть модель, которую я обслуживаю из службы приложений.NET Core в Azure.
Он содержит свойство списка производных типов из базового типа, называемого Adjustment.
Я добавил атрибуты JsonInheritanceConverter и KnownType для каждого производного типа, но когда я смотрю на документ о чванстве, я не вижу ничего, что бы указывало на осведомленность о цепочке наследования.
Когда я генерирую сервисный клиент, кажется, что частичные классы не украшены JsonInheritanceConverter из этого примера в репозитории: https://github.com/RSuter/NJsonSchema/wiki/Inheritance
Уверен, я просто пропускаю что-то вроде переключателя, когда генерирую своего клиента из конечной точки сваггера, или что-то еще. У кого-нибудь была эта проблема?
namespace AppService.DataAccess.Models { public class Container: IBase { [Key] public int ID { get; set; } private List<Adjustment> _adjustments = new List<Adjustment>(); public List<Adjustment> Adjustments { get { return _adjustments; } } } }
namespace AppService.DataAccess.Models { [JsonConverter(typeof(JsonInheritanceConverter), "discriminator")] [KnownType(typeof(Substitution))] [KnownType(typeof(Waiver))] [KnownType(typeof(Exemption))] public class Adjustment: IBase { [Key] public int ID { get; set; } } }
1 ответ
Изучив наш фирменный проект оболочки и заметки о выпуске для NSwag версии 12.0.0, мы уверены, что устаревшие инструменты являются виновником здесь.