Feathers: URLクエリ文字列またはフェザークライアントからのページネーションを上書きする方法はありますか?

作成日 2017年01月17日  ·  3コメント  ·  ソース: feathersjs/feathers

場合によっては、ページネーションなしですべてのデータを返す必要があります。
問題#219に基づいて私はこのようなことをすることができます

app.service('orders').find({paginate: false})

ただし、クライアントからではなく、サーバー側から内部的にのみ機能します。
クライアントまたはこのようなクエリ文字列から機能することができれば、それは素晴らしいことです。

http://api.com/orders?$limit=-1
service.paginate.max = falseの場合

また

http://api.com/orders?$paginate=false

最も参考になるコメント

デフォルトでは、これは正当な理由で無効になっています(数千のレコードがある場合、ページネーションを無効にするとサーバーとクライアントの両方がダウンする可能性があります)が、単純なフックで提案したように、クエリパラメーターをマップしてページネーションを無効にすることができます。

app.service('myservice').before({
  find(hook) {
    if(hook.params.query.$limit === '-1') {
      hook.params.paginate = false;
      delete hook.params.query.$limit;
    }
  }
});

全てのコメント3件

デフォルトでは、これは正当な理由で無効になっています(数千のレコードがある場合、ページネーションを無効にするとサーバーとクライアントの両方がダウンする可能性があります)が、単純なフックで提案したように、クエリパラメーターをマップしてページネーションを無効にすることができます。

app.service('myservice').before({
  find(hook) {
    if(hook.params.query.$limit === '-1') {
      hook.params.paginate = false;
      delete hook.params.query.$limit;
    }
  }
});

それはうまくいきます、あなたの速い応答に感謝します

この問題は、クローズされた後、最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、この問題へのリンクを含む新しい問題を開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価