web-dev-qa-db-ja.com

マルチパートコンテンツでPUTを使用することは正しいですか?

Springを使用していて、RESTを「オーバーライドファイル」呼び出しで実装したいので、PUT動詞をマルチパートボディで使用すると、Springがそれを受け入れないことがわかります。

私の質問は、REST PUTでマルチパートボディを作成する方法ではないため、Springでは実行できないことですか?

注:私は、Springでこの制限をスキップする方法があること、またはPOSTを使用できることを知っていますが、可能な場合はRESTスタイルに固執したいと思います。

5
PhoneixS

同じURIで同じリソースを取得した場合、何が返されますか?送信したのと同じマルチパートコンテンツ、つまりデータとファイル、またはそれらの1つだけを取得することを期待していますか?

後者の場合、1つのURIが1つのリソースを参照しないため、PUTのRESTfulな使用ではありません。 POSTを使用するか、マルチパートコンテンツを2つの個別のリソースに分割することを検討することをお勧めします。

3
Tim

それはすべて、APIのGETが何をしているかに依存しますが、マルチパートPUTを使用するのは落ち着いていると思います。ペイロードのタイプは、PUTがRESTにあるもののセマンティクスを変更しません。

たとえば、REST apiのようなAmazon S3があった場合、リソースでマルチパートPUTが行われた場合、ファイルのコンテンツを更新するのは安らかです。

2
pllee