我正在使用Zend Framework开发REST API。我必须能够以.pdf文件生成报告。
如何处理? URI会不会像http://api.example.com/reports
那样?
由于我实际上每次都是根据输入值生成它,是否会违反REST原则(即不可缓存)?输入值是否可以作为二进制发送(为了执行类似HTML到PDF的操作)?
此外,如果有多种类型的报告,客户端将如何选择要生成的报告?我是否会将ids视为通常的资源(因此我会http://api.example.com/reports/<reportId>
)?
业务逻辑是什么?我应该将文件保存在服务器上并返回下载链接吗?我会将.pdf文档作为二进制文件返回而不将其保存在服务器上吗?
答案 0 :(得分:0)
您可以将请求标头“Accept”设置为“application / pdf”。您还可以在URL中使用URL参数指定要请求PDF文档:http://api.example.com/reports?type=pdf
http://api.example.com/reports/<reportId>
是向用户展示个人报告的好方法。
您如何实施它取决于您的需求。你需要经常生成相同的报告吗?如果您不需要它们,我认为您不需要将它们保存在服务器上。