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 版的发行说明后,我们确信过时的工具是罪魁祸首。
我有一个从 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 版的发行说明后,我们确信过时的工具是罪魁祸首。