我在設計REST API時提出了這個問題。用java中其他對象更新對象的最佳方法在休息中
要更新資源,客戶端必須使用更新的字段提交整個資源。問題是並非所有的字段都是可編輯的。如果客戶端發送的資源中包含他不應更新的更新字段,該怎麼辦?我應該拋出某種異常還是忽略它們並更新所有可編輯的字段? 我想出了以下解決方案
class User {
private String firstName; //non-editable
private String lastName; //non-editable
private String occupation; //editable
private String address; //editable
//getters and setters
}
public void updateUser(User original, User update) {
original.setAddress(update.getAddress());
original.setOccupation(update.getOccupation());
}
我在這裏看到的問題是,UpdateUser兩個方法是緊密結合的用戶類別。如果我添加或刪除可編輯/不可編輯的字段,我將不得不改變方法。是否有某種解決這類問題的最佳實踐或模式?
將值設置爲null將被視爲對您的編輯?當他們從頭開始創建json時,很多人可能會更喜歡這樣做,而不是搞清楚其他字段當前是什麼。 – 2015-02-06 18:25:02
另外,我認爲編程stackexchange可能比stackoverflow更讚賞這個問題。 – 2015-02-06 18:26:00