プロジェクト、会社、ディレクターのエンティティがあるとします。
次の関係が適用されます。
- プロジェクトには1つの会社があります
- 会社には取締役が1人います
- 取締役は複数の会社の取締役になることができます
- 会社は複数のプロジェクトを管理できます
私はこのようなURIデザインを想像しました:
GET /projects
GET /projects/{id}
GET /projects/{id}/company
GET /projects/{id}/company/director
PUT /projects/{id}/company # makes new/overwrite company
POST /projects/{id}/company # updates company
PUT /projects/{id}/company/director # makes new/overwrite director
POST /projects/{id}/company/director # updates director
同じリソースに対して複数のURIを使用しても問題ない/ユーザーフレンドリーでしょうか。例:
POST /companies # makes a new company
POST /companies/{id} # updates company
GET /companies/{id}
POST /directors # makes a new director
POST /directors/{id} # updates director
GET /directors/{id}
これは、ベストプラクティスに従った優れたURI設計ですか?上記のURI設計の長所と短所は何ですか?