Domanda

Nel percorso:

Formato: http://mydomain.com/ {category} / { sottocategoria} / {pageNumber} / {pageSize}

Esempio: http://mydomain.com/books/ Thriller / 3/25

Nella stringa di query:

Formato: http://mydomain.com/ {category} / { sottocategoria}? pageNumber = {} pageNumber & amp; pageSize = {} pageSize

Esempio: http://mydomain.com/ libri / Thriller pageNumber = 3 & amp;? pageSize = 25

Mi piace avere tutto sulla strada, ma il mio problema è che mentre è ovvio (o almeno in qualche modo ovvio) cosa " libri " e "thriller" sono nel primo esempio, il "3" e "25" al contrario sembrano piuttosto arbitrari.

Esiste un metodo canonico per determinare cosa succede in MVC o dipende davvero dallo sviluppatore?

È stato utile?

Soluzione

Preferisco cose come i pagenumbers nelle variabili di querystring. Penso che ci sia una differenza nella descrizione tra

http://mydomain.com/books/thriller?pagesize=50&page=4

e

http://mydomain.com/books/thriller/50/4

Il punto (per me) di avere URL puliti è che siano più descrittivi e leggibili, e trovo che il primo esempio sia proprio quello.

Un punto interessante sollevato da JohnRudolfLewis è:

  

Una regola empirica che seguo è   che se l'argomento è richiesto,   considerare l'utilizzo del percorso, se il   l'argomento è facoltativo, usa sempre   argomenti di querystring.

Altri suggerimenti

Una regola empirica che seguo è che se è richiesto l'argomento, considera l'utilizzo del percorso, se l'argomento è facoltativo, usa sempre argomenti querystring.

Nel complesso, mi atterrei a tutto ciò che rende l'URL più leggibile.

Questo sito lo inserisce nella stringa di query: https://stackoverflow.com/questions?page=2&pagesize=30

Beh, ovviamente dipende da te. Ma stai progettando un'interfaccia RESTful che dovrebbe essere leggibile dall'uomo. La querystring è molto meglio in questo senso. Altrimenti stai guardando due numeri che potrebbero davvero essere qualsiasi cosa. E chi ricorderà l'ordine?

  

Esiste un metodo canonico per determinare cosa succede in MVC o dipende davvero dallo sviluppatore?

Dipende da te.

MVC riguarda l'organizzazione / flusso del codice lato server e separa la vista dal livello aziendale, non tanto sui parametri di query.

Potresti anche considerare quanto segue

Formato

http://mydomain.com/{category}/{subcategory}/page/{pageNumber}/results/{pageSize}

Esempio

http://mydomain.com/books/thriller/page/3/results/25

Dipende praticamente dallo sviluppatore. Direi di inserire pageSize nell'URL.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top