2011-01-16 7 views
0

現在、私が持っているルーティングフレームワークでは、/resource/resource/は同じではありません。したがって、どのURLフォームがより好ましいのでしょうか?/resourceまたは/ resource /はRESTish Webサイトでより優先されますか?

/products 

または

/products/ 

または私は両方をサポートするために努力しなければなりませんか?

は現在、私はこのようにそれをすべてを扱っております:

/products/ (index) 
/products/198 
/products/edit/192 

は好ましい形はありますか?

答えて

0

ウィキペディアはone thingですが、例えばstackoverflow自体を見てください - それは例えば/tagsを使います。私はこれがユーザーのために何らかの違いをもたらすとは思わない。

0

残念なことにURLを構築する方法はありませんが、私自身の作業では、常にスラッシュで終わるURLを使用してリソースのコレクションとリソースを返します。

0

私は/productsを主にRailsのために使用します。 .xml.jsonのような終わりは、応答形式を指定します。その場合/products/.xmlはあまり意味がありません。

+0

しかし、その場合は '/ products/xml'に変更するだけです:) – Earlz

+0

' xml'が子リソースか応答タイプだったのを今どのように知っていますか? – Heikki

2

products(末尾にスラッシュがない)を使用すると、「子」リソースへの相対リンクで「親」リソースのパスセグメントを繰り返す必要があることに注意してください。つまり、productsを使用する場合は<a href='products/123'>と書く必要がありますが、products/を使用する場合は<a href='123'>と書くことができます。そのようなリンクをたくさん返すと、かなりのオーバーヘッドが発生する可能性があります。詳細な説明については、http://www.aminus.org/rbre/shoji/shoji-draft-02.txtセクション3.3.2を参照してください。

+0

もちろん、返された表現内のベースURIを明示的に再定義しない限り。 –

+0

注目すべき点 – Earlz

0

インデックスまたは従属リソースのリストを示すために、末尾にスラッシュが付いたURLを使用します。末尾にスラッシュのないURLは、一般的に個々のリソースを示します。私がこれに使用する合理化の1つは、ディレクトリへのシンボリックリンク上の 'ls -l'コマンドの動作です。ディレクトリへのシンボリックリンク上で 'ls -l'を実行し、末尾にスラッシュを含めると、それが指し示すディレクトリの内容を得ることができますが、lsでスラッシュを含めないと、シンボリックリンクです。

関連する問題