私は、既存のCRUDエンドポイントの上にカスタムAPIエンドポイント(loopback.ioを使用)を開発中です。RESTful APIエンドポイントフィルタと検索の設計
これまでは、プロトタイプ用にいくつかのNode RESTful APIフレームワークを使用していましたが、実際に提供する強力なフィルタリング機能を本当に楽しんでいました。
私がしたいのは、カスタムエンドポイントのフィルタリングと同様のセット(またはサブセット)を提供することです。エンドポイントは(いくつかのJOINを使って)SQLクエリを実行し、オブジェクトの配列を返します。
いくつかのフィルタリングを設計するために使用すべき標準化されたアプローチはありますか?たとえば、ベーステーブルのフィールドをフィルタリングしたり、リレーションをフィルタリングしたりすることができます。 loopback.ioとsequelizeの方法が好きなのは、比較的簡単にincludes
を指定して、関連するオブジェクトとそのフィルタリング構文をリンクできるようにすることです。
通常、このような問題はカスタム実装が完了したときにどのように近づいていますか?
事があるが、フィルタは、ループバックモデル上で動作します。いくつかの高度なクエリでは、これらを実行する唯一の方法はカスタムSQLを書くことであることがわかりました。しかし、エンドポイントがCRUDエンドポイントに似ているように、何らかの形式のフィルタリング(基本的な場所、順序、制限、オフセット)を持つことは素晴らしいことです。 – J3Y