RESTサービスのAPIを設計していて、リソースをネストする適切な方法で立ち往生しています。
リソース:パートナー、チケット、設定
リソース間の接続:
タマンロジック:
私が今までにしたこと:
パートナーリソース
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 /チケット
PUT/tickets /:id
GET /設定
PUT /設定
GET /partners/:partner_id/tickets
-パートナーのチケットのリスト、つまり、おそらく/tickets/:id
の形式のURIのリストを返します
GET /partners/:partner_id/tickets/:id
-不要
POST /partners/:partner_id/tickets
-チケットを作成してパートナーに関連付け、新しいURIを持つ201を/tickets/:id
の形式で返します