我尝试使用实现INotifyPropertyChanged的视图模型来实现PATCH方法。这就是为什么我希望NullValueHandling为反序列化的NullValueHandling.Include(因此显式定义的空值将触及setter并将被正确处理)。
同时,我想摆脱GET方法输出中的空值。所以我在序列化过程中需要NullValueHandling为NullValueHandling.Ignore。
有没有办法使用asp.net核心网络应用程序的标准机制来实现这样的结果?
现在我使用此代码初始化Json转换器:
public void ConfigureServices(IServiceCollection services)
{
...
services.AddMvc(...)
.AddJsonOptions(o =>
{
o.SerializerSettings.NullValueHandling = NullValueHandling.Include;
...
});
...
}
并且无法找到任何方法为序列化和反序列化分别指定空值处理。这就是为什么我必须使用两个单独的模型,一个用于具有默认序列化的GET请求,一个用于具有[JsonProperty(NullValueHandling = NullValueHandling.Include)]属性和自定义get和set方法的PATCH请求。
任何想法如何只用一个模型解决问题?
感谢您的帮助!