sakaba-project / sakaba

0 stars 0 forks source link

API設計 #43

Open shamisonn opened 4 years ago

shamisonn commented 4 years ago
shamisonn commented 4 years ago

https://qiita.com/kawasukeeee/items/e0973f762e12aaa256e2 VSCodeのSwagger Viewerをつかうと良い!

naoi217 commented 4 years ago

openapiを見て思ったこと

1

voicesやtagsについてはpagingを考慮しない方針? 最初は登録数が少ないからpagingしないでいいかなと思うけど、今後多くなった時のことを考えると実装する必要はあるかと思う。

ちなみに、注文の例を共有しておくと APIではquery paramにlimitとpageを渡す。 レスポンスとしては例えば、limit = 5, page = 1を渡した場合

"page" :  {
    "total": 10,
    "current": 0,
    "limit": 5,
    "has_previous": false,
    "has_next ": true,
}

みたいな感じで返してるよ。

2

フロント側で欲しいかなと思うエンドポイントとしてはタグだけの一覧を取得するエンドポイントはやっぱ欲しいかなって思った。 今日のMTGでキャッシュがあればまあって言ってたのでパフォーマンス次第ではあるけども...。 欲しいと思った理由としては2つ

  1. フロントエンドしか知らない人の場合にはtagsって名前を見た時にタグのみの一覧を返すエンドポイントと間違えやすいかと思ったのでよりタグのみを返すエンドポイントとタグからvoiceを返すAPIなのか混乱しそう。
  2. tagの数ってvoice x n って考えるとページングをしない場合、tagsのエンドポイントのキャッシュがない場合のコストがやばくなりそう。

3

tagsのエンドポイントのレスポンスについて これはフロント側のわがままなのかもしれないけどtagが持ってるvoicesのカウントを入れて欲しいと思った。

shamisonn commented 3 years ago

issues

nayami

unvavo commented 3 years ago

みなさんコメントありがとうございました!

3点対応しましたので再度レビューお願いします。

https://github.com/sakaba-project/sakaba/pull/45/commits/37ffbfe8dc6610b8f9b8ec43fdb92f605d8deff5