Скажите, что у вас есть метод репозитория для обновления документа:
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 для этих свойств.
Это круто, или есть шаблон/практика, о которых я еще не узнал, что может облегчить частичные обновления, отправив только то, что нужно по проводу?