2009-11-11 9 views
7

Quale sarebbe la convenzione accettata per la visualizzazione di un intervallo di date in un URL descrittivo?Convenzione URL per intervallo di date

Ad esempio, in un'applicazione di tracciamento del tempo. Invece di utilizzare la chiave primaria del database per un periodo di pagamento specifico nell'URL, vorrei utilizzare qualcosa di più facilmente distinguibile per l'utente.

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

Nessuno di questi sembra tagliarlo, ma forse sto solo esageratamente critico.

+0

perché questo MVC è correlato? – skaffman

+0

Non è specifico, quindi tag rimosso. –

risposta

7

Avete preso in considerazione le date in formato ISO, specialmente nella loro forma compatta: YYYYMMDD, allora dovrebbe essere possibile avere:

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

In particolare io non credo che ci sia alcun accettati convenzione per questo.

Edit: si tratta di instradamento così ...

+0

Sembra la soluzione più pulita che abbia mai visto e la più semplice all'esterno di una stringa di query. –

+2

+1. Può includere anche il '' s' se vuoi; se usi i trattini dovresti * sempre * usare l'ordinamento ISO8601 YYYY-MM-DD. – bobince

0

Personalmente penso che questo è il tipo di dati che è meglio Posted, piuttosto che consente di specificare un percorso.

(a volte se la soluzione sembra rotto in questo modo, allora forse l'approccio è corretto.)

Tuttavia, se si vuole veramente specificare date, forse si dovrebbe prendere in considerazione un formato che è più probabile che essere inteso in modo coerente in tutte le culture, come aaaa-mmm-dd (ad esempio 2009-novembre-11)

+1

Qui sembra davvero una pessima idea, in quanto si romperebbe praticamente qualsiasi tipo di esperienza di interfaccia utente (nessun bookmarking, nessun ricaricamento senza un popup a prima vista, se non del tutto, nessun pulsante indietro). Una query GET è molto meglio per ..., bene, query. Usa il POST solo quando in realtà stai cambiando qualcosa (come l'aggiornamento di un record del database), che non dovrebbe essere permesso di fare due volte. – falstro

+1

Inoltre, non inviare un URL ad un amico/collega/ecc. Tramite messaggistica istantanea o email, è una cosa che mi infastidisce davvero. :) – falstro

1

mi piacerebbe usare sia qualcosa di simile:

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

o

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

Ma quello che dice daniel, è possibile convertirlo in un post in modo da nasconderlo del tutto, se possibile.

2

direi che sta a voi, ma mi piace l'idea di

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

Oppure, può essere combinato con qualcosa come /between/2008/10/2009/10 e così via.

+0

Preferisco questo metodo, in quanto rende l'indirizzo molto più 'leggibile/esplorabile' –

+0

Mi piacerebbe offrire una preferenza alternativa a: 'http://foo.com/bar/from/2014-09- 01/'. Implica una data simile alla forma scritta. Diresti che questo è più leggibile? – Glycerine