我们正在实现用SOAP消息管理实体的CRUD接口。什么是允许该实体进行部分更新的好实践?这意味着客户只能更新实体的某些属性,而不必发布整个实体?对于每个属性更新,是否有更多的通用方法?
http补丁可用于部分更新,只发送要更改对象的字段。关于部分更新有一个有趣的讨论。
我会说确保部分更新是愿意的,即请求中的相同更新字段在资源的相同末端状态下会更重要。因此,如果您具有内部逻辑,可以根据正在更新可能会研究的另一个资源属性的值来确定资源属性的状态。例如如果整个资源对其部分进行了更新何时更新但未指定其他部分(某些属性的默认值?(,则可能会根据资源的当前状态引起不同的结果。
如果整体资源只是无关属性的集合,则部分更新是有意义的。例如更新地址但没有更新电话号码是有意义的吗?如果是座机并且地址更新,电话号码会发生什么?它设置为空吗?反之亦然。因此,在进行部分更新时,可能值得根据要更新的域"分区"允许的部分。