0

私が取り組んでいるプロジェクトでは、feathers JS フレームワークのサーバー側を使用しています。多くのサービスには、クライアントに送り返す前に他の呼び出しを行い、データを添付するフック (またはミドルウェア) があります。データベースにクエリを実行する必要がある新しい機能があるが、特定のいくつかのことだけを考えている場合、このデータベースクエリに既に構築されている「検索」メソッドを使用したくないと考えています。その「検索」メソッドには多くの機能があるためです。他の不要なフックとデータを取得するための他のデータベースへの呼び出しは、私の機能に対するこの新しいクエリには必要ありません。

これまでの私の2つのソリューション:

  1. 標準の「検索」クエリを使用して、クライアント側で渡すことができる特定の文字列パラメーターをチェックする if ステートメントをすべてのフックに記述するだけで、これらのフックはこの特定の呼び出しで非アクティブになりますが、特にこれを見つけた場合は面倒に思えますすでに構築されている他のいくつかの異なるサービスが必要です。

  2. メイン サービスの下に 2 番目のサービスを初期化するので、メイン サービスが次の場合:

    app.use('/comments', new JHService(options));
    

    すぐ下に次のように書いています。

    app.use('/comments/allParticipants', new JHService(options));
    

    そして、そのサービスにまったく新しいフックのセットを追加します。基本的には、名前の最初の部分が「コメント」であるという点で、起源との唯一の関係を持つまったく新しいサービスです。

これらのオプションよりも優れたソリューションはありますか? または、オプション 1 またはオプション 2 が現在の問題を解決するための最も正しい方法ですか?

4

1 に答える 1