2 つのリソース間の次の関係を検討してください。
- 大学には多くの学部があります
- 学部は大学に所属しています
明らかに、教員はここでは一流のリソースではありません。
次に、次の操作のためのエンドポイントが必要です。
- この大学、このファームに新しい学部を作成します。2 つの操作でこれを行う 1 つの方法。
POST /faculties/
PUT /college/1/faculties
- この大学から学部を削除します。再び2つの操作
GET /college/1/faculties
:関連する学部のリスト。それぞれに のような自己 URL が含まれます/faculties/1
。DELETE /college/1/faculties/1
: URL は見栄えが良くなりますが、この URL を公開するにはどうすればよいですか?
- その大学の下に 1 つ以上の学部を追加します。
PUT /college/1/faculties
この大学の学部の完全なリストを受け入れます。
- その特定のセクターを完全に削除します。
DELETE /sectors/1
: 良さそうに見えますが、 のキャッシュを処理する必要があり/faculties/1/sectors
ます。
この場合、より良いアプローチは何でしょうか?メンバーシップ リソースの公開について読んだことがありますが、そのアプローチでは、大学に 10 の学部がある場合、メンバーシップからすべての学部を取得するには 10 回の http 呼び出しが必要になります。
さらに、これは完全なリレーションシップ ツリーのほんの一部にすぎません。これをさらに拡張するために、システムが
- 学部には多くの学科があります
- 学科には研究室がたくさんあります。
さらに、RESTful アーキテクチャでは、クライアントが URL を設定することはありません。
なにか提案を?