Является ли / resource или / resource / более предпочтительным для веб-сайтов RESTish? - PullRequest
0 голосов
/ 17 января 2011

В настоящее время структура маршрутизации, которую я имею, не обрабатывает /resource и /resource/ одинаково.Так какая форма URL является более предпочтительной?

/products

или

/products/

Или я должен стремиться поддерживать оба?

В настоящее время я отношусь ко всему так:

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

Есть ли предпочтительная форма?

Ответы [ 5 ]

2 голосов
/ 17 января 2011

Обратите внимание, что если вы используете products (без косой черты), то относительные ссылки на «дочерний» ресурс должны повторять сегмент пути «родительского» ресурса. То есть, если вы используете products, то вы должны написать <a href='products/123'>, но если вы используете products/, то вы можете написать просто <a href='123'>. Если вы возвращаете много таких ссылок, это может привести к значительным накладным расходам. См. http://www.aminus.org/rbre/shoji/shoji-draft-02.txt раздел 3.3.2 для более подробного обсуждения.

0 голосов
/ 17 января 2011

Я использую URL с косой чертой для указания индексов или списков подчиненных ресурсов. URL без косой черты обычно указывает на отдельный ресурс. Одним из объяснений, которое я использую для этого, является поведение команды 'ls -l' на символических ссылках на каталоги. Если вы выполните 'ls -l' для символической ссылки на каталог и включите косую черту, вы получите содержимое каталога, на который он указывает, но если вы так и не включите косую черту, вы увидите, что это символическая ссылка.

0 голосов
/ 17 января 2011

Не существует единственного правильного способа создания релевантных URL-адресов, но в моей собственной работе я всегда использую URL-адреса, заканчивающиеся косой чертой, для возврата коллекций ресурсов и ресурсов без конечной косой черты для ссылки на атомарные ресурсы.

0 голосов
/ 17 января 2011

Я бы использовал /products в основном из-за Rails. Там окончания типа .xml и .json указывают формат ответа. В этом случае /products/.xml не имеет особого смысла.

0 голосов
/ 17 января 2011

Википедия говорит одна вещь , но посмотрите на сам стекопоток - он использует /tags например. Я не думаю, что это имеет какое-либо значение для пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...