ASP.Net Core中NSwag生成客户端时DTO可空类型处理异常
NSwag生成客户端时可空类型Null值被忽略的问题
我在ASP.Net Core项目中使用NSwag生成客户端代码,整体运行正常,但存在一个问题:当DTO中的可空类型值为Null时,会在响应中被忽略。
我定义的类如下:
class ClassA { public int Test { get; set; } } class ClassB { public string? Name { get; set; } public ClassA? SomeProperty { get; set; } }
生成客户端后,这两个属性都会被自动添加如下特性:
[Newtonsoft.Json.JsonProperty("someProperty", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
我尝试了以下方法但均未解决问题:
- 在类中手动设置
NullValueHandling = Newtonsoft.Json.NullValueHandling.Include,但生成代码时会被覆盖 - 实现分部类来修正NullValueHandling,修改仍被忽略
- 在
openApiToCSharpClient配置对象中尝试多种相关设置,没有效果
补充说明:ClassA也应为可空类型。
内容的提问来源于stack exchange,提问作者Febertson
相关产品推荐
相关产品推荐

