web-dev-qa-db-ja.com

クエリ範囲が異なるバックエンドAPIを設計するにはどうすればよいですか?

ブログシステムがある場合、範囲が指定され、その範囲内の新しいブログの数を取得するクエリがあります。範囲は次のとおりです。

  1. ある日
  2. 一週間
  3. 六ヶ月
  4. 一年

バックエンドAPIを設計するにはどうすればよいですか? 5つの独立したAPIの設計、または状況に代わって5つの異なる列挙値を渡すAPIの設計、またはDateTimeリストを受け取る1つのAPIの設計です。

2
Jeffery
GET /recent?range=1m

または

GET /posts?recent=1m

すべての範囲クエリは基本的に同じクエリですが、時間枠によってパラメータ化されます。これは、URIのクエリパラメータに適しています。

この範囲をどのように指定するかは、ユースケースによって完全に異なります。特定の期間のセット(1d 1w 1m 6m 1yなど)、または任意の期間を作成できるようにします(例:28d)、または明示的な開始日を許可します。場合によっては終了日を指定します:/posts?from=2017-10-18&to=now

5
amon