1

サーバーに送信されたオブジェクトなど、わずかに異なるオブジェクトをPOST / PUTで返すのはRESTfulですか?

例:

クライアントは(POST / PUT)Orderをサーバーに送信して、注文を作成します。サーバーは応答オブジェクトを送信しOrderResponse、作成された属性にOrder加えて、配信時間、支払い条件などのいくつかの異なる情報を含む応答オブジェクトを呼び出します。これはRESTfulですか、それともOrderIdを返して、クライアントが取得できる新しいサービスを提供する必要がありますOrderResponseか?

編集:

注文がデータベースに保存されていないため、クライアントに新しい注文のURLを指定できません。私のアプリケーションは、メッセージングを介して注文をサードパーティのシステムに送信します。サードパーティのシステムからはそれを読み取ることができませんが、サードパーティのシステムからいくつかの追加情報が送信され、これをに追加しOrderResponseます。

4

1 に答える 1

2

私は別のリソースOrderとは考えていません。OrderResponseそれらは同じタイプです。クライアントがこのリソースのすべての詳細を知ることができず、知るべきではないということだけです。たとえば、正確なIDはサーバーによって割り当てられます。

  • おそらく異なる表現で同じリソースを使用します。
  • 作成のURIを含むリクエストLocationへのHTTP応答のヘッダーを返します。POSTOrder
  • OrderとこのURIの表現をPOST、クライアントが編集したものよりも完全なものにします。
于 2012-10-30T10:28:36.920 に答える