私が現在取り組んでいるプロジェクトは、APIを介して公開された大量のサードパーティ情報を消費しています。これらのデータセットは絶えず変化しており、それぞれに数百万のエントリがあります。
ユーザーは自分のお気に入りを示し、必要なときにそのデータを思い出す必要があります。例として、ユーザーが在庫レベルを「後で分析する」リストに「ブックマーク」したい場合があります。
私の現在の考えでは、ユーザーの検索などのアクション中に、サードパーティからの「ライブ」データが表示されます。彼らが興味のあるものにフラグを立てた場合、私はそのデータを私が管理するデータベースにコピーします。サードパーティのエントリが変更される(または完全に存在しなくなる)可能性があるため、その情報の後続のビューは、サードパーティではなく、私のデータベースから提供されます。
これは良いAPIプラクティスですか?検索時にクライアント向けアプリケーションに送信されるオブジェクトキーは何ですか?サードパーティのキー?または、検索結果を前処理して、ローカルにあるアイテムを特定し、それらのインスタンスでローカルキーを返すようにしますか?または、サードパーティのソースを完全に抽象化し、返されたアイテムごとに一意のローカルキーを生成します。これは、後で誰かが保存した場合に使用されます[本当に重いようです]。または、その処理を延期して、誰かが何かをブックマークした後、ローカルに何かが存在するかどうかを検索しますか?