目前,我所拥有的路由框架并未将/resource
和/resource/
视为相同。那么哪种URL形式更受欢迎?
/products
或
/products/
或者我应该努力支持两者?
目前我正在对待这一切:
/products/ (index)
/products/198
/products/edit/192
是否有首选表格?
答案 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并且不包含斜杠,则会看到这是一个象征性的联系。