NSwag Наследование и полиморфизм - PullRequest
0 голосов
/ 30 января 2019

У меня есть модель, которую я обслуживаю из службы приложений .NET Core в Azure.

Содержит свойство списка производных типов из базового типа, называемого Adjustment.

Я добавил атрибуты JsonInheritanceConverter и KnownType для каждого производного типа, но когда я смотрю на документ-развязку, яне вижу ничего, что указывает на то, что он знает о цепочке наследования.

Когда я генерирую клиент службы, кажется, что частичные классы не украшены JsonInheritanceConverter из этого примера в репозитории: https://github.com/RSuter/NJsonSchema/wiki/Inheritance

Я уверен, что мне не хватает чего-то вроде переключателя, когда я генерирую своего клиента из конечной точки сваггера, или что-то в этом роде.У кого-нибудь была такая проблема?

</p>

<pre><code>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;
        }
      }
  }
}
</code>

</p> <p></p> 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 Ответ

0 голосов
/ 31 января 2019

Изучив проект нашей компании-оболочки и заметки о выпуске для NSwag версии 12.0.0, мы уверены, что устаревшие инструменты являются виновником здесь.

...