0

API オペレーションを呼び出してオブジェクトのリストをフェッチし、次にそのリスト内の各オブジェクトに対して、別の API オペレーションを呼び出してそのオブジェクトの追加の詳細をフェッチし、それらの詳細をオブジェクトに追加しています。目標は、必要なすべてのプロパティ (または詳細) を含むオブジェクトのリストを返すことです。以下の例では、呼び出しは と の 2 つのプロパティを/allObjects持つすべてのオブジェクトのリストを取得します。しかし、私のアプリケーションにはとの 3 つのプロパティが必要です。そこで、別の API メソッドを呼び出して、各オブジェクトの詳細情報を取得します。idk1idk1k4k4財産。その詳細なプロパティを元の結果セットのオブジェクトにコピーし、「強化された」結果セットを返します。ただし、これによるレイテンシ コストは高くなる可能性があります。アプリケーションの速度をあまり落とさずにこれを達成する最善の方法は何ですか? 現実の世界では、500 ~ 2000 個のオブジェクトを扱っています。

GET /allObjects yields JSON results =>
{
  "data" : [
    {
      "id" : "123",
      "k1" : "v1"
    }, {
      "id" : "456",
      "k1" : "v1"
    }
  ]
}

for (obj in results.data) {
  GET /object/{obj.id} yields JSON result =>
  {
    "data" : {
      "id" : "123",
      "k1" : "v1",
      "k2" : "v2",
      "k3" : "v3",
      "k4" : "v4"
    }
  }
  // Add k4 property to original result-set object, and assign
  // it the value of the k4 property in the individual result object.
  obj.k4 = result.data.k4;
}

return results.data;
4

1 に答える 1