2
安らかなPOST応答のための「ベスト」プラクティス
したがって、ここでは何も新しいことはありません。説明を求めているだけで、他の投稿では何も見つけられないようです。 私は思い切って新しいリソースを作成しています: /books (POST) ボディ付き: { title: 'The Lion, the Witch and the Wardrobe', author: 'C. S. Lewis' } 新しいリソースのLocationヘッダーを含む201(Created)を返す必要があることはわかっています。 Location: /books/12345 自分では答えられないように思える質問は、サーバーが本文で返す必要があるものです。 私はよくこのタイプの応答をしました: { id: 12345, title: 'The Lion, the Witch and the Wardrobe', author: 'C. S. Lewis' } これを行った理由はいくつかあります。 私はangularjsのようなフロントエンドフレームワーク用のAPIを書きました。私の特定のケースでは、角度リソースを使用しており、リソースを見つけるためにリソースのIDだけが必要になることがよくあります。応答本文でIDを返さなかった場合は、Locationヘッダーから解析する必要があります。 すべての本のGETでは、通常、IDだけでなくオブジェクト全体を返します。この意味で、クライアントコードは、IDをどこから取得するか(場所のヘッダーまたは本文)を区別する必要はありません。 今、私は本当に灰色の領域にいることを知っていますが、ほとんどの人は、リソース全体を返すことは「悪い」習慣だと言っています。しかし、サーバーがリソースに情報を変更または追加した場合はどうなるでしょうか。それは間違いなくIDを追加しますが、タイムスタンプのような他のものも追加するかもしれません。リソース全体を返さない場合は、POSTを実行し、IDを返してから、クライアントにGETを実行して新しいリソースを取得させる方が良いでしょう。