我在设计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