问题描述
我正在我的服务器中实现 REST 路由,每次都返回一个新的 URL,但不更改任何服务器“状态”。
特别是,我正在写一个类似于这样的路线:
GET/POST example.com/upload-url
此路由的作用是创建一个唯一 URL,然后调用者可以使用该 URL 将文件安全地上传到服务器。具体来说,它将创建一个 S3 presigned put request,并返回它。路由处理程序不会在 S3 中创建文件。您也可以连续调用此 REST 路由 3 次,并且对服务器没有影响。它也不会使服务器返回的其他 URL 无效。
例如,假设您连续调用此路由 3 次:
GET example.com/upload-url
三个回报会有所不同,可能是:
example.com/aaa
example.com/bbb
example.com/ccc
每个返回的 URL 都有自己的过期时间。直到每一个到期,它都是完全有效的。然后您可以使用每个 URL,并且您的文件将被上传。需要注意的是,如果您使用 example.com/aaa
上传了一个文件,然后使用 example.com/bbb
上传了另一个文件,那么您使用 aaa
上传的文件将被覆盖。
问题是 - 以这种方式定义,GET example.com/upload-url
是幂等的吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)