想象一下,请求从特定网址上传请求文件的系统。
http://example.com/{accountId}/files
对该端点进行POST以启动文件传输。但鉴于该文件可能很大,并且该过程可能需要一段时间,服务器返回202响应。
一段时间后,执行GET
http://example.com/{accountId}/files/{fileId}
如果该文件的返回状态仍然未决,那么我们想告诉服务器再次尝试传输,因为我们认为它已超时。
我感到困惑的是,相应的REST端点/ HTTP动词将触发服务器重新处理该文件。
答案 0 :(得分:1)
我建议添加一个包含图像处理器状态的“处理器”资源:
http://example.com/{accountId}/files/{fileId}/processor
GET就可以像这样返回JSON:
{
"status": "Pending"
}
然后,客户端可以通过向处理器资源发出空POST来重新启动处理器。此外,客户端可以使用服务器记录的“reason”值POST POST JSON(而不是仅发出空POST)。
基本资源/ {accountId} / files / {fileId}可以包含指向处理器资源的链接,这样客户端就不必使用该信息进行硬编码。