Filtered Collection パターン

/users?role=admin
/users?page=2
/users?since_id=123

どのようなパターン?

コレクションリソースにアルゴリズムリソースを組み合わせて用いる形。

コレクションリソースから、クエリパラメータの値を条件として絞り込んだリソースを表す。

RailsのGemでは、「検索」としては Ransack (meta_search) などが実装している。 「ページネーション」としては kaminari などが実装している。

リソースの分類からみる

アルゴリズムリソース

/search?q={query}
/conversion?from=USD&to=JPY&amount=100

クエリパラメータによって、何らかのアルゴリズムを実行した結果のリソース。

使用メソッド

基本的にGETのみ。

クエリパラメータが長すぎる場合はPOST(overloaded POST)を使用することもある。