13

バッチ PUT 作成を受け入れてから複数の場所を返すための正しい動詞と応答は何ですか? Location ヘッダーは、1 つの URI のみをサポートしているようです。

私は当初、バッチ作成に PUT を使用して Uris のリストを含む文字列配列を返すことができると想定していましたが、仕様を見ると、それはサポートされていないように見えますが、完全に明確でもありません。

代わりに複数の Location ヘッダーを使用できますか?

何かアドバイス?

4

3 に答える 3

10

いいえ、Locationヘッダーフィールドは1つしか設定できません(もちろん、仕様から明らかです)。

そうは言っても、PUTは単一のリソースを作成/更新するためのものです。あなたはそれが設計されていない何かのためにそれを使用しているようです...

于 2012-07-03T11:48:10.977 に答える
5

仕様によると、PUT は 1 つのリソースしか作成できません。

PUT メソッドは、ターゲット リソースの状態を作成するか、要求メッセージ ペイロードに含まれる表現によって定義された状態に置き換えることを要求します。

( https://www.rfc-editor.org/rfc/rfc7231#section-4.3.4 )

ただし、別の動詞 (POST など) を使用したリクエストが複数のリソースを作成し、201 Created ステータスを返す可能性があります。仕様によると:

リクエストによって作成されたプライマリ リソースは、レスポンスの Location ヘッダー フィールドによって識別されるか、Location フィールドが受信されない場合は有効なリクエスト URI によって識別されます。201 応答ペイロードは通常、作成されたリソースを記述し、リンクします。

( https://www.rfc-editor.org/rfc/rfc7231#section-6.3.2 )

そのため、たとえば POST 要求に対する 201 応答で複数の作成されたリソースの URI を返すことは問題ありませんが、Location ヘッダーに含まれる URI は 1 つだけです。

于 2014-06-19T11:06:13.703 に答える