我正在通过 Zend_Rest_Route 使用 Zend Framework 构建一个 RESTful API。对于文件的上传,我应该使用 PUT 还是 POST 来处理这个过程?我试图与 REST 动词的定义尽可能一致。请参考:PUT 或 POST:故事的其余部分。
我理解这一点的方式是,当且仅当我更新指定资源的全部内容时,我才应该使用 PUT。我必须知道使用 PUT 的确切 URL。另一方面,如果我使用一些服务器端算法向服务器发送命令以创建指定资源的下属,我应该使用 POST。
假设这是一个用于上传图像的 REST API。这是否意味着如果服务器要操作图像文件(即创建缩略图、调整大小等),我应该使用 POST;如果我只想将原始图像文件保存到服务器,请使用 PUT?
如果我使用 PUT 处理文件上传,流程应该如下:
- 用户发送 GET 请求以检索特定 URL 以通过 PUT 上传文件。
- 然后用户向该 URL 发送 PUT 请求。
上传的文件是原始文件 - 正是用户上传的文件。
我对这些东西很陌生;所以希望我在这里有意义......
如果您知道执行此操作的“最佳”方法,请随时发表评论。