资源版本管理:原理、实现与权衡
1. 特定版本资源的检索
资源版本的一个重要特性是能够回溯资源在过去某个时间点的数据。要获取资源的特定版本,我们可以通过扩展标准的 get 方法来实现。使用特殊的分隔符 “@” 来区分资源 ID 和版本 ID,例如 /chatRooms/1/messages/2@1234 表示消息资源的第 1234 个版本。
这种方法的好处是标准的 get 方法无需改变,API 服务可以将传入的更详细的标识符解释为特定版本的资源。返回的资源的 ID 应与请求的 ID 完全一致,同时 revisionId 字段应填充为返回版本的标识符,以确保我们能轻松验证得到的结果与请求的一致。
以下是示例代码:
// 请求无版本 ID 的资源
GetMessage({ id: 'chatRooms/1/messages/2' });
// 结果
{
id: 'chatRooms/1/messages/2',
// ...,
revisionId: 'abcd'
}
// 请求带版本 ID 的资源
GetMessage({ id: 'chatRooms/1/messages/2@abcde' });
// 结果
{
id: 'chatRooms/1/messages/2@abcd',
// ...,
revisionId: 'abcd'
}
2. 列出资源版本
列出资源的所有版本不
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



