2017-04-09 14 views
0

サイトにこのようなモデルがあります:OrganizationClientCommentです。REST API 1対多の深い関係

OrganizationCommentは1 Clientに属し、Clientは多くのCommentsを持つことができ、ClientOrganizationに属し、Clients多くを持つことができます。

はもちろん、Clientは、ファーストクラスのリソースではありませんので、私は、更新を作成し、同じようOrganizationを通してそれを得る:

POST/organizations/:org_id/clients - PUT/organizations/:org_id/clients/:client_idクライアントを作成する - クライアントを更新し、

上 などを

ClientCommentを追加したいときは、私のルートはどうでしょうか?

、データ構造多くのRESTインターフェースを模倣で

POST/organizations/:org_id/clients/:client_id/comments

又は

POST/clients/:client_id/comments

又は

POST/comments

答えて

0

ある必要があります。

クライアントに属するコメントがあるため、内部データ表現は表になります。主キーはコメントID、外部キーはクライアントIDです。特定の組織に所属する顧客とは何の関係もありません。したがって

POST/clients/:client_id/comments 

後であなたは理論的には

PUT/clients/:client_id/comments/:comment_id 

だろうコメントを編集したい場合は、あなたもポストパラメータの一部であることのclient_idを移動させることができるが、この場合に必要になります特定の顧客のすべてのコメントを一覧表示するための適切な方法を失っている。