2017-04-03 17 views
0

私のシステムでRESTfulなWebAPIを.Netで作成しています。私のクライアントで検索を行うときには、データをフィルタリングするために必要なときに/ personルート渡しパラメータにヒットする必要があると推測します。しかし、返される人物オブジェクトにはかなりの入れ子オブジェクトがあり、データ取得が遅くなる可能性があります。人のスケルトン化されたビューを返す別のコントローラを用意する必要がありますか?私は今後のやり方を続けるべきですか?大きなデータセットを返すRESTによる検索を実行しますか?

答えて

0

実際には、あなたの問題を解決するための方法はありませんが、いくつかの方法がありますが、これは便利な方法です。しかし、私の意見では、検索結果のリソース表現のサイズを最適化するというあなたの考えは正しいです。

  1. フィルタリングクエリには、要求されたフィールドのリストを含めることができます。 (例えば、ES search APIの類似の署名/アプローチを参照)。冗長応答ペイロードを減らすために、多くの検索エンジンがこのアプローチに従っています。
  2. これまでのように、重いオブジェクトをサブリソースで分割することで、内部オブジェクトの表現を一切含まずに、人の中のネストされたオブジェクトへのリンクのみを含めることができます。 HATEOASのアプローチは、この目的には完全に適合しますが、アプリケーションには複雑さが増します(ただし余分な柔軟性もあります)。

しかし、あなたの特定のアプリケーションにとってはどちらのアプローチが優れているかを選択する必要がありますが、望ましい出発点は要求されたフィールドのリストによるアプローチです。

関連する問題