Aktualizacje częściowych elementów w WebAPI PUT / POST

Załóżmy, że masz metodę repozytorium do aktualizacji dokumentu:

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

W tym przypadku jednostka ma dwie właściwości. Podczas aktualizowania dokumentu obie te właściwości są wymagane w żądaniu JSON, więc żądanie doPUT /api/folder z ciałem

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

zwróci błąd, ponieważ „treść” nie została podana. Powodem, dla którego to robię, jest to, że nawet w przypadku właściwości i właściwości, których użytkownik nie aktualizuje, bezpieczniejsze wydaje się wymuszenie na kliencie określenia tych pól w żądaniu, aby uniknąć nadpisywania nieokreślonych pól serwerem null.

To doprowadziło mnie do praktyki wymagającej zawsze każdej właściwości, którą można aktualizować w żądaniach PUT i POST, nawet jeśli oznacza to określenie wartości null dla tych właściwości.

Czy to fajne, czy też istnieje wzorzec / praktyka, o której jeszcze się nie dowiedziałem, które mogą ułatwić częściowe aktualizacje, wysyłając tylko to, co jest potrzebne przez przewód?

questionAnswers(2)

yourAnswerToTheQuestion