querystring query parameter node url format query-string

query - string parameter url



Convención de cadena de consulta de URL para clasificación múltiple (4)

Evitaría usar GET como parámetros. ¿Qué tal esto?

http://myapp.com/books/sortedby/author:asc+datepublished:desc/count/12

La idea es que si necesita refinar la búsqueda de un recurso según un criterio, agregue el nombre en la URL, seguido del valor del parámetro. Si necesita más de un valor de parámetro, sepárelos con un +.

Esto es lo que StackOverflow usa para preguntas etiquetadas:

http://stackoverflow.com/questions/tagged/java+servlet

Sin embargo, admito que agregar el conteo / 12 al final parece un poco extraño, pero no se me ocurre nada mejor.

Tengo una aplicación web RESTful que admite múltiples campos de clasificación en una colección de elementos. ¿Existe una convención común para codificar estos campos de clasificación en la cadena de consulta de una URL? Estoy considerando un patrón como el siguiente:

http://myapp.com/books?sort=author:asc,datepublished:desc&count=12

Esto ordenaría la colección de libros por autor y luego por fecha de publicación.

Básicamente, necesito una manera conveniente para que los pares nombre-valor en mi cadena de consulta tengan sus propios pares de nombre-valor. También tendré que hacer algo similar al ejemplo anterior para los parámetros de filtro.

¿Rails o ASP.NET MVC tienen un patrón para esto? ¿Existen otros marcos que hayan establecido formas de abordar este problema? Prefiero usar un formato familiar que el mío.

También preferiría un formato que use la menor codificación porcentual de URL posible.


Lo he hecho antes de usar la sintaxis de clasificación SQL estándar. Existen numerosas funciones y técnicas de análisis por ahí.

http://myapp.com/books?sort=author asc,datepublished desc&count=12

que estaría codificado para

http://myapp.com/books?sort=author+asc,datepublished+desc&count=12


¿Qué tal una versión totalmente compatible con PHP como esta?

http://myapp.com/books?sort[0][name]=author&sort[0][dir]=asc&sort[1][name]=datepublished&sort[1][dir]=desc&count=12

Un poco más largo pero muy conveniente y como ya he dicho, cumple con PHP. ASP.NET podría haber implementado soporte para este formato también.

Esto creará una matriz, ordenar , directamente donde cada elemento de ordenación tiene un nombre y una propiedad dir .


Para REST, prefiero una sintaxis más intuitiva:

http://myapp.com/books?sort=+author,-datepublished&count=12

Y más elaborado (sin el signo ''+''):

http://myapp.com/books?sort=author,-datepublished&count=12

Fácil de recordar...