长时运行操作与可重复运行作业的API设计
1. 长时运行操作(LRO)的API定义
长时运行操作(LRO)是Web API中的一种设计模式,用于跟踪API服务在后台执行的工作。以下是相关的最终API定义:
abstract class ChatRoomApi {
@post("/{parent=chatRooms/*}/messages:analyze")
AnalyzeMessages(req: AnalyzeMessagesRequest):
Operation<MessageAnalysis, AnalyzeMessagesMetadata>;
@get("/{id=operations/*}")
GetOperation<ResultT, MetadataT>(req: GetOperationRequest):
Operation<ResultT, MetadataT>;
@get("/operations")
ListOperations<ResultT, MetadataT>(req: ListOperationsRequest):
ListOperationsResponse<ResultT, MetadataT>;
@get("/{id=operations/*}:wait")
WaitOperation<ResultT, MetadataT>(req: WaitOperationRequest):
Operation<ResultT, MetadataT>;
@