Zend_Rest_Routeを介してZendFrameworkを使用してRESTfulAPIを構築しています。ファイルのアップロードの場合、プロセスを処理するためにPUTまたはPOSTを使用する必要がありますか?私はREST動詞の定義と可能な限り一貫性を保つように努めています。参照してください:PUTまたはPOST:ストーリーの残り。
私がこれを理解する方法は、指定されたリソースの完全なコンテンツを更新する場合にのみ、PUTを使用する必要があるということです。PUTを使用するには、正確なURLを知っている必要があります。一方、サーバー側のアルゴリズムを使用して、指定されたリソースの従属を作成するコマンドをサーバーに送信する場合は、POSTを使用する必要があります。
これが画像をアップロードするためのRESTAPIであると仮定しましょう。サーバーが画像ファイルを操作する場合(つまり、サムネイルの作成、サイズ変更など)は、POSTを使用する必要があるということですか。生の画像ファイルをサーバーに保存したいだけの場合は、PUTを使用しますか?
PUTを使用してファイルのアップロードを処理する場合、プロセスは次のようになります。
- ユーザーはGETリクエストを送信して、PUTでファイルをアップロードするための特定のURLを取得します。
- 次に、ユーザーはそのURLにPUTリクエストを送信します。
アップロードされるファイルは生であり、ユーザーがアップロードしたファイルとまったく同じです。
私はこのようなものにまったく慣れていません。うまくいけば、私はここで理にかなっています...
これを行うための「最良の」方法を知っている場合は、コメントもお気軽に。