API 资源复制与移动的全面解析
1. 子资源处理
在进行资源复制或移动操作时,我们不能简单假设每个资源都是完全独立的。实际上,资源往往会关联额外的数据,这些外部数据和相关资源(如子资源)通常都有其存在的目的。因此,在复制或移动资源时,必须包含所有子资源。
例如,当复制或移动一个 ChatRoom 资源时,所有的 Message 子资源都必须随新的父 ID 一起复制或移动。这显然比更新单个记录要复杂得多,而且更新的工作量取决于子资源的数量。以下是移动或复制 ChatRoom 资源前后的标识符示例:
| 资源类型 | 原始标识符 | 新标识符 |
| — | — | — |
| ChatRoom | chatRooms/old | chatRooms/new |
| Message | chatRooms/old/messages/2 | chatRooms/new/messages/2 |
| Message | chatRooms/old/messages/3 | chatRooms/new/messages/3 |
| Message | chatRooms/old/messages/4 | chatRooms/new/messages/4 |
需要注意的是,复制操作相对简单,但移动资源后会产生新问题:之前指向这些资源的链接会变成死链,尽管资源本身仍然存在。
2. 相关资源处理
除了子资源,我们还需要考虑相关资源。以聊天 API 中的 MessageReviewRepor
超级会员免费看
订阅专栏 解锁全文
934

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



