Частичные обновления сущностей в WebAPI PUT / POST

Скажем, у вас есть метод репозитория для обновления документа:

public Document UpdateDocument(Document document)
  {
  Document serverDocument = _db.Documents.Find(document.Id);
  serverDocument.Title = document.Title;
  serverDocument.Content = document.Content;
  _db.SaveChanges();
  return serverDocument;
  }

В этом случае сущность имеет два свойства. При обновлении документа оба эти свойства требуются в запросе JSON, поэтому запросPUT /api/folder с телом

{
  "documentId" = "1",
  "title" = "Updated Title"
}

вернет ошибку, потому что «содержание» не было предоставлено. Причина, по которой я это делаю, заключается в том, что даже для обнуляемых свойств и свойств, которые пользователь не обновляет, кажется более безопасным заставить клиента указывать эти поля в запросе, чтобы избежать перезаписи неуказанных полей пустыми значениями на стороне сервера.

Это привело меня к практике всегда требовать каждого обновляемого свойства в запросах PUT и POST, даже если это означает указание значения NULL для этих свойств.

Это круто, или есть шаблон / практика, о которой я еще не узнал, которая может способствовать частичным обновлениям, посылая только то, что нужно по сети?

Ответы на вопрос(2)

Ваш ответ на вопрос