【发布时间】:2015-02-09 21:07:43
【问题描述】:
我正在尝试在 .NET WebAPI 的路由中获取一组非模型绑定的 json 数据。背景故事是我想根据传入的内容更新一些字段,而不是覆盖整个对象。因此,请求将如下所示:
path: ./api/user/2 PUT
json: { "email":"doodly@test.com"}
现在,在 PUT 的脚手架方法中,这将用新电子邮件和一堆空值覆盖 id=2 的用户其他列。这是因为 json 是自动绑定到模型的,当创建该对象时,不存在的值为 null。
我可以简单地检查传递的对象中的 null 并且只更新非 null 字段,但是如果有人执行以下操作,它会中断:
json: { "email":"doodly@test.com", "phone":null }
在这种情况下,电话不会在应该被取消的时候被取消,因为它会被跳过。因此,我需要按原样获取 json,以了解如何以及在给定 id 的记录上更新什么。我该怎么做?
【问题讨论】:
-
对不同类型的更新有不同的操作?
-
@DixonD 你能详细说明一下吗?我不确定如何处理这个问题。
标签: c# .net json api asp.net-web-api