NSwag 继承与多态

NSwag Inheritance and Polymorphism

我有一个从 Azure 中的 .NET Core 应用服务提供的模型。

它包含一个列表 属性 来自名为 Adjustment 的基本类型的派生类型。

我已经为每个派生类型添加了 JsonInheritanceConverter 和 KnownType 属性,但是当我查看 swagger 文档时,我没有看到任何表明它知道继承链的信息。

当我生成一个服务客户端时,部分 classes 似乎没有用 repo 上这个示例中的 JsonInheritanceConverter 修饰:https://github.com/RSuter/NJsonSchema/wiki/Inheritance

可以肯定的是,当我从 swagger 端点或其他东西生成我的客户端时,我只是缺少类似开关的东西。有人遇到过这个问题吗?

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;
        }
      }
  }
}

</p> <p></p> 命名空间 AppService.DataAccess.Models { [JsonConverter(typeof(JsonInheritanceConverter), "discriminator")] [已知类型(类型(替代))] [已知类型(类型(豁免))] [已知类型(类型(豁免))] public class 调整:IBase { [钥匙] public int ID { 得到;放; } } }

在查看了我们公司的包装器项目和 NSwag 12.0.0 版的发行说明后,我们确信过时的工具是罪魁祸首。