RESTfulシステムでは、URLの構成方法は、識別するリソースや与えた名前ほど重要ではありません。
あなたがこれらのリソースに与えるURIは、主に以下のとおりです。あなたは3つのリソースを持っているようにあなたが示してきたものから、
は、それが見えます味の問題。
http://example.com/ {ハッシュ}
例えばレールなどのいくつかのフレームワーク、たとえば、RESTに何もすべてのリソースは関係なく、そのタイプの、ハッシュコードが割り当てられ介してアクセスされるURI方式を定義できなくありませんURI内のリソースの名前を使用してネストされたリソースURI階層を作成すると便利です。しかし、これはあなたのアプリケーションが従うことができるかどうかの慣例に過ぎません。
RESTはいくつかの制約を定義していますが、最も難しいのはアプリケーションがhypertext-drivenであることです。この制約の利点の1つは、ルーズカップルをあなたのアプリとそのクライアントの間で促進することです。
クライアントがURIを通じてリソースを要求するとき、契約の一部は、クライアントがリソース表現で提供されたリンクに基づいて別のURIを選択できるということです。これは、ブラウザを使用してWebページのリンクをたどるのとは異なります。
これは、URIテンプレートが公開され、クライアントコードにハードワイヤード接続されるRPCスタイルのアプローチとは対照的です。
将来的にネストされたURIがフラットなURIよりも優れていると判断した場合は、URIスキームを変更することができ、クライアントコードが破られることはありません。リソースを完全に異なるドメインに移動したり、プロトコルをHTTPからHTTPS、またはFTPに変更することもできます。あなたのURIテンプレートは公開されていないので、クライアントコードはそれらに対して書かれていてはなりません。
代わりに、アプリケーションは単に新しいリンクの提供を開始し、クライアントはそれに続いて起動します。
私が最初にそれにさらされた(そしてまだ自分のやり方を感じている)とき、私はこの心の麻痺した抽象のすべてを見つけました。概念を説明する例はあまり多くありませんが、1つはSun Cloud APIです。
+ REST!=読み取り可能なURI(考えられる読みやすいURIは便利ですが、RESTの要件ではありません) –