如何在 Asp.Net 中通过 Web Api 仅更新一个字段?

How do you update only one field via a Web Api in Asp.Net?

我正在使用 Asp.net 和 Web Api 2.

假设我有一个包含四个字段的 Client 对象:UniqueIdNameEmailPhoneNumber。每当用户在前端更新 phone 数字时,我不想将具有 2 个未更改字段(NameEmail)且只有一个更改的整个对象发送回服务器场(PhoneNumber)。我没有计算 UniqueId,因为它永远不会改变,而且总是必须来回传送到服务器。

到目前为止我找到的最佳解决方案是 将未更改的字段发送为空 ,因此 Api 仅更新非空字段。但这 禁止在数据库中存储空值 ,这通常是不可取的。

谁能提供一些想法?谢谢。

我通常只是创建一个包含所需字段的对象。在您的示例中,我只发送一个对象:

{"UniqueId": 4, "PhoneNumber": "SOME NUMBER"}

Web Api 将使用默认值填充缺失的属性。