私はサービスのREST APIを設計しており、リソースをネストする適切な方法にこだわっています。
リソース:パートナー、チケット、設定
リソース間の接続:
- パートナーには多くのチケットがあり、
- パートナーは設定のセットを持っています、
Bussinesロジック:
- すべてのパートナーを匿名ユーザーとしてリストできます。
- 指定したパートナーに匿名ユーザーとして新しいチケットを追加できます。
- パートナーのみが自分のチケットをリストできます。
- パートナーのみがチケットを変更できます。
- パートナーのみが設定を一覧表示できますが、
- パートナーのみが設定を変更できますが、
私が今までやったこと:
パートナーリソース
GET / partners-すべてのパートナーを一覧
表示
GET / partners /:id- :idパラメーターで指定されたパートナーの詳細を表示GET / partners /:partner_id / tickets-パートナーのチケットの一覧
GET / partners /:partner_id / tickets /:id-詳細指定されたパートナーのチケットの
POST / partners /:partner_id / tickets-新しいチケット
PUTを保存する/ partners /:partner_id / tickets /:id-:idパラメーターで指定されたチケットを更新する
GET / partners /:partner_id / settings-パートナーの設定
PUTをリストする/ partners /:partner_id / settings-パートナーの設定を更新する
問題/質問
ネストされたリソース(チケット、設定)を分割してリソースを分離する、またはそれらを別個のリソースとして複製する適切な方法でしょうか?
例えば
GET / tickets /:id
POST / tickets
PUT / tickets /:id
GET / settings
PUT / settings