1. ホーム
  2. resources

[解決済み] RESTfulな「PUT」操作は何かを返すべき...。

2022-03-19 08:48:41

質問

私は、RESTful な PUT 操作で、レスポンス・ボディに何も(null)返さないことです。

どのように解決するのですか?

HTTPの仕様( RFC 2616 ) には、適用可能な推奨事項が多数あります。以下は私の解釈です。

  • HTTPステータスコード 200 OK への更新の PUT が成功した場合。 既存のリソース。レスポンスボディは必要ありません。(あたり 9.6項 , 204 No Content がさらに適切です)。
  • HTTPステータスコード 201 Created のPUTに成功した場合。 この場合、新しいリソースの最も具体的な URI は Location ヘッダーフィールドで返され、 その他の関連する URI とリソースのメタデータはレスポンスボディで返されます。( RFC2616のセクション10.2.2 )
  • HTTPステータスコード 409 Conflict によって失敗したPUTの場合 に対して、3 rd -パーティによる変更。 更新しようとしたリソースと現在のリソースとの間で、レスポンス のボディを使用します。( RFC2616第10.4.10項 )
  • HTTPステータスコード 400 Bad Request に失敗した場合 PUTを行い、レスポンス・ボディに自然言語(英語など)のテキストを記述します。 を使用し、PUTが失敗した理由を説明します。( RFC2616第10.4項 )