我正在使用 HttpPatch 部分更新对象。为了使其正常工作,我使用了 OData 的 Delta 和 Patch 方法(此处提到:目前推荐的使用 Web API 执行部分更新的方法是什么?)。一切似乎都运行良好,但注意到映射器区分大小写;当传递以下对象时,属性将获得更新的值:
{
"Title" : "New title goes here",
"ShortDescription" : "New text goes here"
}
但是当我传递具有较低或驼峰属性的相同对象时,Patch 不起作用 - 新值没有通过,因此反序列化和属性映射似乎存在问题,即:“shortDescription”到“ShortDescription ”。
是否有一个配置部分会使用补丁忽略区分大小写?
供参考:
在输出中,我使用以下格式化程序具有驼峰式属性(遵循 REST 最佳实践):
//formatting
JsonSerializerSettings jss = new JsonSerializerSettings();
jss.ContractResolver = new CamelCasePropertyNamesContractResolver();
config.Formatters.JsonFormatter.SerializerSettings = jss;
//sample output
{
"title" : "First",
"shortDescription" : "First post!"
}
然而,我的模型类遵循 C#/.NET 格式约定:
public class Entry {
public string Title { get; set;}
public string ShortDescription { get; set;}
//rest of the code omitted
}