我正在编写一个 API。我想允许 PUT 方法更新资源。下面是代表资源的示例模型对象-
var resourceToUpdate = new TestResourceModel()
{
Id = 5
Name = "testName",
Description = "description",
etc...
}
我希望客户端能够 PUT 到 /TestResource/5 以更新资源的属性
现在,假设客户端只想更新属性名称,而不是描述,因此发送以下请求:
Name="testNewName"
在这种情况下,应该更新资源,因此 Name 现在是“testNewName”,而 Description 仍然是“description”
如何区分这种情况(在我的 Controller 方法中)和客户端想要将 Description 属性设置为 null 的情况:
Name="testNewName"
Description=
因为我的控制器方法看起来像:
[HttpPut]
public ActionResult Index(TestResourceModel model)
{
//True in both cases
bool descriptionSet = model.Description == null;