REST APIの絞り込みの考え方で悩んでます
Q&A
Closed
既存のLaravelで簡単なAPIを作ってます。
仮でEntryというモデルがあるとして、
Route::get('entry/{entry}', function (Entry $entry) {
return $entry;
});
で情報を取得できるようにしてます。
(urlにするとhttp://〇〇/api/entry/{entry_id})
ここから発展させて、取得したい50件程度のデータのidを指定することで
全件の中から絞り込み処理・返却が行われるようにしたいです。
作る際にREST APIの記事を見つけ、規約を当てはめられないか考えていたのですが、
先の「全件の中から絞り込んで取得」という目的を、どう実現したら良いか
わからなくなってしまいました。
いくつか参考記事や同様の質問にも目を通したのですが、
- 制約上、「/api/entries/filter/{entry_id}-{entry_id}-{entry_id}」のようにしてgetすべき
- 検索結果というデータを「作る」から、絞り込み条件をpostして良い
- post→処理→返却(get)だから、post処理でも実質get。制約には引っかからない
- 「複雑な条件」は、そもそも設計が悪い
- そもそも規約に合わせる必要がない。泥沼だから。
などなど。色んな意見があって迷います。
もしこれらについて知見あれば教えていただきたいです。
- get派、post派
- 考え方
よろしくお願いします。