如何将资源标记为RESTful API中消耗的资源?

时间:2019-11-25 16:06:33

标签: rest api restful-url idempotent

我们有一个API,我们试图使它尽可能的具有REST风格,我们需要为使用者提供一种下载文件的方式,但是我们需要限制每个使用者下载资源的时间;为此,我们添加了以下API:

POST /resource/:resourceId/download

这将创建下载并为使用者返回URI(/resource/downloads/:downloadId)以获取文件(特别是在Location HTTP响应标头中),以便用户随后可以获取文件的内容打电话:

GET /resource/downloads/:downloadId

然后,我们返回响应中的内容(状态代码为200),并将下载内容标记为已在数据库中使用,因此对该相同URI的进一步调用将返回410(已消失)指定该资源不再可供下载。

问题在于最后一个GET调用不再是“只读”(“安全”或“幂等”)操作。 将这种用例实现为RESTful的正确方法是什么?

0 个答案:

没有答案