我有一个模型,我从 Azure 中的 .NET Core appservice 提供服务。
它包含从名为 Adjustment 的基本类型派生的类型的列表属性。
我已经为每个派生类型添加了 JsonInheritanceConverter 和 KnownType 属性,但是当我查看 swagger 文档时,我没有看到任何表明它知道继承链的东西。
当我生成一个服务客户端时,部分类似乎没有用 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; } } } }
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; } } }