2009-11-11 69 views
7

在友好的URL中顯示日期範圍的公約會是什麼?日期範圍的URL約定

例如,在時間跟蹤應用程序中。我不想在URL中的特定支付期間使用數據庫的主鍵,而是希望使用更易於區分的用戶。

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

這些似乎都沒有削減它,但也許我只是過於關鍵。

+0

爲什麼這個MVC有關? – skaffman 2009-11-11 13:10:15

+0

這不是特別的,所以標籤被移除。 – 2009-11-11 13:17:56

回答

7

你有沒有考慮ISO格式的日期,尤其是在其緊湊的形式:YYYYMMDD,那麼它應該是可能有:

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

具體來說,我不認爲有任何接受約定這一點。

編輯:這是關於路由以及...

+0

這看起來像是我見過的最乾淨的解決方案,也是查詢字符串最直接的一種。 – 2009-11-11 13:29:17

+2

+1。如果你願意,也可以包括'-'s;如果你使用連字符,你總是應該使用ISO8601 YYYY-MM-DD命令。 – bobince 2009-11-11 14:48:11

0

我個人認爲這是數據的排序是最好的貼出來,而不是用於指定的路線。

(有時如果解決方案似乎以這種方式打破,那麼也許這種方法是不正確。)

但是,如果你真的想指定的日期,或許你應該考慮的格式,更容易以一致的方式在所有文化中,如YYYY-MMM-DD理解(如2009年 - 月 - 11)

+1

POST在這裏看起來像是一個非常糟糕的主意,因爲它會破壞幾乎任何類型的UI exprience(如果沒有後退按鈕,沒有書籤,不需要重新加載沒有惱人的彈出窗口)。 GET查詢對於......查詢來說好很多。只有在實際更改某些內容(如更新數據庫記錄)時才使用POST,而不應允許其執行兩次。 – falstro 2009-11-11 13:19:17

+1

也不會通過即時消息或電子郵件發送URL給朋友/同事/等,這是真的讓我感到困擾。 :) – falstro 2009-11-11 13:25:48

1

我想無論是使用類似:

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

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

但丹尼爾說什麼,你可以轉換這個帖子,所以你完全隱藏它,如果可能的話。

2

我會說這是你的,但我喜歡的

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和這樣的組合。

+0

我更喜歡這種方法,因爲它使地址更加'人類可讀/可探測' – 2009-11-11 14:57:58

+0

我想提供一個替代偏好:'http://foo.com/bar/from/2014-09- 01 /'。它意味着一個類似於書面形式的日期。你會說這是更可讀的人類嗎? – Glycerine 2014-09-08 20:06:18