ドキュメントを更新するためのリポジトリ メソッドがあるとします。
public Document UpdateDocument(Document document)
{
Document serverDocument = _db.Documents.Find(document.Id);
serverDocument.Title = document.Title;
serverDocument.Content = document.Content;
_db.SaveChanges();
return serverDocument;
}
この場合、エンティティには 2 つのプロパティがあります。Document を更新する場合、JSON リクエストでこれらのプロパティの両方が必要になるためPUT /api/folder
、
{
"documentId" = "1",
"title" = "Updated Title"
}
「コンテンツ」が提供されていないため、エラーが返されます。私がこれを行っている理由は、null 許容プロパティとユーザーが更新しないプロパティであっても、指定されていないフィールドを null で上書きしないように、クライアントに要求でこれらのフィールドを指定するように強制する方が安全だと思われるためです。
これにより、たとえプロパティに null を指定することを意味する場合でも、PUT および POST リクエストですべての更新可能なプロパティを常に要求するようになりました。
これはクールですか、それとも必要なものだけをネットワーク経由で送信することで部分的な更新を容易にする可能性がある、まだ学んでいないパターン/プラクティスがありますか?