Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

エンドポイント設計 #2

Merged
merged 2 commits into from Sep 23, 2021
Merged

エンドポイント設計 #2

merged 2 commits into from Sep 23, 2021

Conversation

nami25
Copy link
Owner

@nami25 nami25 commented Sep 23, 2021

課題URL

https://tech-essentials.work/courses/7/tasks/53

変更の詳細

  • エンドポイント設計ファイルの追加

悩んだところ

  • 下記の部分に関して、アクションをどのように設定すべきか悩みました。
    indexアクションの中で条件分岐を使って出し分けることを想定し、アクションとしては同じでいいのかなと思い下記のような形にしました。
やりたいこと HTTPメソッド エンドポイント コントローラ#アクション
質問一覧を表示する(未解決) GET /questions/unsolved quetsions#index
質問一覧を表示する(解決済み) GET /questions/solved quetsions#index

レビューをお願いしたい観点

  • 記載内容や記載方法など、全体的に確認いただきたいです。

@DaichiSaito
Copy link

全体的に指摘するところがないですね。しっかり設計できてると思います。

indexアクションの中で条件分岐を使って出し分けることを想定し、アクションとしては同じでいいのかなと思い下記のような形にしました。

ここについては絶対的な正解はないですね。
みなくちさんのも一つの解です。ただ異なるエンドポイントに対するリクエストを同一のコントローラ#アクションで制御しようとすると実装がややこしくなる(if文が必ず発生してしまう)ので個人的にはquestions#unsolved, questions#solvedにするかquestions/unsolveds#index, questions/solveds#index のようにいquestionsディレクトリ を切ってそこに新しくコントローラを二つ作るかのどちからでやるかなと思います。

ここのみけたさんの返信も参考になると思います。
https://tech-essentials.work/courses/7/tasks/53/outputs/787

Filtered Subresource パターン - リソースモデリングパターン
Filtered Collection パターン - リソースモデリングパターン
DHHはどのようにRailsのコントローラを書くのか | POSTD
DHH流のルーティングで得られるメリットと、取り入れる上でのポイント - KitchHike Tech Blog

@nami25
Copy link
Owner Author

nami25 commented Sep 23, 2021

早速ありがとうございます!
ご紹介いただいたみけたさんの返信やリンクなど確認し、下記のように理解した上で、今回はquestions#unsolved, questions#solvedという形に修正しました。

理解した内容

  • questions/unsolveds#index, questions/solveds#indexという形で新しくコントローラを作る場合
    • メリット:7つのアクション内に収めるという規約を守っており、他の方がコードを見た際に見通しが良くなる
    • デメリット:コントローラが増えてしまう
  • questions#unsolved, questions#solvedという形で、quetionsコントローラにアクションを増やす場合
    • メリット:コントローラを増やさなくていい
    • デメリット:7つのアクション内に収めるという規約からは外れる(が、この程度であれば7つ以外のアクションを増やしても問題ない)

@nami25 nami25 merged commit 368fd17 into main Sep 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants