我有一個API可以更新已存在的實體。該實體可以通過也存在API的接口手動更新。使用ASP.NET Web API更新API請求架構或設計模式中的某些字段
我的問題是如何只更新供應商可能通過實體上的API發送的某些字段的良好設計模式或架構?我不想用NULL或空字符串覆蓋字段,因爲他們在發送到API時不知道這些值,但是數據庫中的實體可能已經具有該字段的值。
這也應該考慮到供應商是否想要將字段重置爲某種空字符串。
實體API模式
ID
Name
TwitterHandle
實體數據庫與價值觀範式
ID = 200
Name = Hello
TwitterHandle = @hello
實體模型請求發送到API與價值觀
ID = 200
Name = Hello2
該請求應該只將名稱更新爲Hello2,但只保留TwitterHandle。然而,在另一要求,他們可以重置TwitterHandle如果事情與它(NULL,空字符串)發送
我會建議接受只包含能夠被編輯爲特定的呼叫特性的視圖模型或DTO。這意味着你可能有多個。不要通過您的API來回發送實體。 – ovation22
我有100個客戶端使用這個API,所以我不打算爲每個客戶創建一個模型 –