Teilweise Entitätsaktualisierungen in WebAPI PUT / POST

Angenommen, Sie haben eine Repository-Methode zum Aktualisieren eines Dokuments:

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

In diesem Fall verfügt die Entität über zwei Eigenschaften. Beim Aktualisieren eines Dokuments sind beide Eigenschaften in der JSON-Anfrage erforderlich, also eine Anfrage anPUT /api/folder mit einem Körper von

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

würde einen Fehler zurückgeben, da "Inhalt" nicht angegeben wurde. Der Grund dafür ist, dass es sicherer erscheint, den Client zu zwingen, diese Felder in der Anforderung anzugeben, um zu vermeiden, dass nicht angegebene Felder mit Nullen auf dem Server überschrieben werden. Dies gilt auch für nicht aktualisierbare Eigenschaften und Eigenschaften, die der Benutzer nicht aktualisiert.

Dies hat mich dazu gebracht, immer alle aktualisierbaren Eigenschaften in PUT- und POST-Anforderungen zu fordern, auch wenn dies bedeutet, dass für diese Eigenschaften null angegeben wird.

Ist das cool, oder gibt es ein Muster / eine Praxis, die ich noch nicht kennengelernt habe, das / die Teilaktualisierungen erleichtert, indem nur das gesendet wird, was über die Leitung benötigt wird?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage