是/资源还是/资源/更喜欢RESTish网站?

时间:2011-01-16 21:12:15

标签: http url rest routing

目前,我所拥有的路由框架并未将/resource/resource/视为相同。那么哪种URL形式更受欢迎?

/products

/products/

或者我应该努力支持两者?

目前我正在对待这一切:

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

是否有首选表格?

5 个答案:

答案 0 :(得分:2)

请注意,如果使用products(没有尾部斜杠),则指向“子”资源的相对链接必须重复“父”资源的路径段。也就是说,如果您使用products,那么您必须编写<a href='products/123'>,但如果您使用products/,则可以只编写<a href='123'>。如果您返回了大量此类链接,则可能会产生很大的开销。有关更详细的讨论,请参阅http://www.aminus.org/rbre/shoji/shoji-draft-02.txt第3.3.2节。

答案 1 :(得分:0)

维基百科说one thing,但请看一下stackoverflow本身 - 例如它使用/tags。我不认为这会给用户带来任何差异。

答案 2 :(得分:0)

没有一种正确的方法来构建restful url,但在我自己的工作中,我总是使用以斜杠结尾的url来返回资源集合和资源,而没有结束斜杠来引用原子资源。

答案 3 :(得分:0)

我会使用/products主要是因为Rails。像.xml.json这样的结尾指定了响应格式。在这种情况下,/products/.xml没有多大意义。

答案 4 :(得分:0)

我使用带斜杠的网址来表示索引或下级资源列表。没有尾部斜杠的URL通常表示单个资源。我用于此的合理化之一是'ls -l'命令在目录的符号链接上的行为。如果在目录的符号链接上执行'ls -l'并包含尾部斜杠,则会获得它指向的目录的内容,但如果您是ls并且不包含斜杠,则会看到这是一个象征性的联系。