使用哪种 REST 方法进行下载

Oli*_*hee 6 api rest download

我们的 API 将允许用户下载文件(10mb - 500mb)。

REST 端点将是

/downloads/*content-id*
Run Code Online (Sandbox Code Playgroud)

其中内容 ID 是对我们服务器上文件的引用。

我认为 HTTP 方法应该是 GET,因为它试图检索某些内容。但是,由于我希望用户能够暂停下载以便稍后恢复,因此我还需要将接收到的字节参数传递给端点。

我应该将其作为查询参数吗?

/downloads/*content-id*?bytesReceived=123
Run Code Online (Sandbox Code Playgroud)

或者我应该将收到的字节添加到请求正文中,如果是这样,我是否应该不再使用 GET ?

另外,作为第二个q。我正在使用八位字节流内容类型来下载文件 - 正如我所知,这种内容类型最能让我暂停下载并稍后恢复。解压后,该文件将是一些 HTML5 内容(带有 js/css)。这是最好的方法吗?

Opa*_*pal 5

您应该使用GET方法,因为您正在获取特定的资源。你不能通过bytesReceived身体,因为GET没有身体。相反,请使用适当的标头,它称为Range,请参阅此处