且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

用于多重排序的URL查询字符串约定

更新时间:2023-11-23 18:55:34

在使用标准的SQL排序语法之前,有很多解析函数和技术。

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

将被编码为

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


I have a RESTful web application that supports multiple sort fields on a collection of items. Is there a common convention for encoding these sort fields into the query string of a URL? I'm considering a pattern like the following:

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

This would sort the collection of books by author and then by date published.

Basically, I need a convenient way for the name-value pairs in my query string to have name-value pairs of their own. I'll need to do something similar to the above example for filter parameters, too.

Does Rails or ASP.NET MVC have a pattern for this? Are there other frameworks that have established ways for dealing with this issue? I'd rather use a familiar format than roll my own.

I'd also prefer a format that uses as little URL percent-encoding as possible.

I've done this before using the standard SQL sorting syntax. There are numerous parsing functions and techniques out there.

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

which would be encoded to

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