首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RESTFull网络服务和文件下载的最佳实践

RESTFull网络服务和文件下载的最佳实践
EN

Stack Overflow用户
提问于 2015-10-23 15:17:51
回答 1查看 4.7K关注 0票数 7

我目前正在开发一个RESTFull应用程序,它可以提供客户端生成的二进制文件。我想知道最好的做法是什么:

  • 向应用程序发送GET请求,生成文件并写入响应,并带有正确的标头?
  • 向应用程序发送GET请求,生成文件并编写包含文件元数据和下载servlet链接的json数据?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-25 08:16:19

我的用例是,我们可能要创建一个非常大的文件,创建过程可能需要一段时间。另外,我不希望我的文件创建过程被打断,因为这样做肯定会花费很大的代价。因此,一个很好的解决方案似乎是使用信令生成异步文件。

步骤:

  1. 创建一个新文件POST /downloads (端点名为示例)、响应202 Accepted, Location: /downloads/123 (下载的唯一ID )。如果我们在用户之间共享文件,同一个帖子可能返回相同的ID (所有用户都在等待相同的文件生成)
  2. 请求该文件、GET /downloads/123、尚未完成的文件、响应102 Processing (以及可选的进度和/或ETA,如果可用)
  3. 请求文件,GET /downloads/123,文件已完成,响应303 See other, Location: https://cdn/full-path-to-generated.file.pdf

它使您能够创建非常大的文件,并花费相当长的时间,为多个用户重用文件创建过程,并将文件生成过程本身从应用服务器转移到工作人员。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33305921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档