API 资源操作:复制、移动与批量处理
1. 复制与移动操作
在 API 开发中,用户可能需要对资源进行复制或移动操作。虽然直接使用标准的更新和创建方法也能实现类似效果,但为了更清晰和高效,我们可以使用自定义的复制和移动方法。
1.1 最终 API 定义
以下是支持复制 ChatRoom
资源和移动 Message
资源的 API 定义:
abstract class ChatRoomApi {
@post("/{id=chatRooms/*}:copy")
CopyChatRoom(req: CopyChatRoomRequest): ChatRoom;
@post("/{id=chatRooms/*/messages/*}:move")
MoveMessage(req: MoveMessageRequest): Message;
}
interface ChatRoom {
id: string;
title: string;
// ...
}
interface Message {
id: string;
content: string;
// ...
}
interface CopyChatRoomRequest {
id: string;
destinationParent: string;
}
interface MoveMessage {
id: string;
destinationId: string;
}