3

一連の場所に関するデータを返すRESTfulAPIメソッドがあるとしましょう。

/ locations

[{
  location_id: 1,
  location_name: 'Austin'
},{
  location_id: 2,
  location_name: 'San Francisco'
},{
  location_id: 3,
  location_name: 'Seattle'
}]

ここで、場所ごとに合計のemployee_countを返したいとしましょう。

[{
  location_id: 1,
  location_name: 'Austin',
  employee_count: 96
},{
  location_id: 2,
  location_name: 'San Francisco',
  employee_count: 71
},{
  location_id: 3,
  location_name: 'Seattle',
  employee_count: 85
}]

では、URIにとって最も意味のあることは何ですか?それでも/locations?または多分/employees/ location?

私の懸念は、/ locationへの各リクエストでemployee_countを計算すると、employee_countは5〜10%の時間しか使用できないため、追加の無駄なオーバーヘッドが発生する可能性があることです。

4

1 に答える 1

2

どちらか、または両方に配置できます。アプリケーションのニーズによって、その選択が決定されるはずです。

提案された設計でより重要なことは、クライアントが各場所に移動して詳細情報を取得するために、個々の場所オブジェクトに URI が含まれていないという事実です。

代わりに、ID のみを含めました。おそらく、クライアントが場所固有の URI を構築するために使用することを期待していますか? その場合は、各場所のペイロードに完全な URI を追加することを強く検討する必要があります (たとえば、「リンク」または「href」)。この方法がなければ、クライアントを URI の構造に結びつけ、システムの将来の進化をより困難にすることになります。参考までに、このアプローチは通常、HATEOAS (Hypermedia As The Engine Of Application State) と呼ばれます。

于 2012-07-09T17:55:17.663 に答える