RESTful な「PUT」操作は何かを返す必要がありますか...質問する

RESTful な「PUT」操作は何かを返す必要がありますか...質問する

PUT応答本文に何も返さない (null) RESTful 操作について、人々がどのような意見を持っているのか知りたいです。

ベストアンサー1

HTTP仕様(RFC 2616) には適用可能な推奨事項がいくつかあります。私の解釈は次のとおりです。

  • 200 OK既存のリソースへの更新のPUTが成功した場合のHTTPステータスコード。レスポンス本文は必要ありません。(セクション9.6204 No Contentの方がさらに適切です。
  • 新しいリソースの PUT が成功した場合のHTTP ステータス コード201 Created。新しいリソースの最も具体的な URI が Location ヘッダー フィールドに返され、リソースのその他の関連 URI とメタデータが応答本文にエコーされます。(RFC 2616 セクション 10.2.2
  • サード409 Conflictパーティによる変更により失敗した PUT のHTTP ステータス コード。応答本文には、試行された更新と現在のリソースの相違点のリストが含まれます。(RFC 2616 セクション 10.4.10
  • 失敗した PUT のHTTP ステータス コード400 Bad Request。応答本文には、PUT が失敗した理由を説明する自然言語テキスト (英語など) が含まれます。RFC 2616 セクション 10.4

注: この回答が書かれた時点では RFC 2616 が最新の仕様でしたが、その後 RFC は置き換えられました。 標準を参照する場合は、最新の標準を使用していることを確認すると便利です。

おすすめ記事