Соглашение по URL для диапазона дат - PullRequest
8 голосов
/ 11 ноября 2009

Какое соглашение будет принято для отображения диапазона дат в понятном URL-адресе?

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

http://www.mytimesheet.com/11-1-2009-11-14-2009
http://www.mytimesheet.com/period-beginning-11-1-2009

Кажется, ни один из них не порезался, но, может быть, я просто слишком критичен.

Ответы [ 4 ]

8 голосов
/ 11 ноября 2009

Рассматривали ли вы даты в формате ISO, особенно в компактной форме: YYYYMMDD, тогда должно быть возможно иметь:

http://example.com/dates/20091101/20091131

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

Редактировать: это касается и маршрутизации ...

2 голосов
/ 11 ноября 2009

Я бы сказал, что решать вам, но мне нравится идея

http://foo.com/bar/from/2008/
http://foo.com/bar/from/2008/10/
http://foo.com/bar/from/2008/10/02

Или его можно объединить с чем-то вроде /between/2008/10/2009/10 и тому подобным.

1 голос
/ 11 ноября 2009

Я бы использовал что-то вроде:

http://www.mytimesheet.com/start/11-1-2009/end/11-14-2009

или

http://www.mytimesheet.com?start=11-1-2009&end=11-14-2009

Но, что говорит Даниэль, вы можете преобразовать это в пост, чтобы полностью скрыть это, если это возможно.

0 голосов
/ 11 ноября 2009

Лично я думаю, что такие данные лучше всего отправлять, а не использовать для указания маршрута.

(иногда, если решение кажется таким образом нарушенным, возможно, подход неверный.)

Однако, если вы действительно хотите указать даты, возможно, вам следует рассмотреть формат, который, скорее всего, будет одинаково понятен во всех культурах, например yyyy-mmm-dd (например, 2009-nov-11)

...