我有一个RESTful Web应用程序,它支持一组项目上的多个排序字段.是否有将这些排序字段编码到URL的查询字符串中的通用约定?我正在考虑如下模式:
http://myapp.com/books?sort=author:asc,datepublished:desc&count=12
这将按作者排序书籍集合,然后按发布日期排序.
基本上,我需要一种方便的方法,使我的查询字符串中的名称 - 值对具有自己的名称 - 值对.我也需要为上面的例子做一些与过滤器参数类似的事情.
Rails或ASP.NET MVC有这样的模式吗?是否有其他框架已经建立了处理此问题的方法?我宁愿使用熟悉的格式而不是自己的格式.
我也更喜欢使用尽可能少的URL百分比编码的格式.
我在使用标准SQL排序语法之前已经完成了这个.有许多解析功能和技术.
http://myapp.com/books?sort=author asc,datepublished desc&count=12
将被编码为
http://myapp.com/books?sort=author+asc,datepublished+desc&count=12
对于REST,我更喜欢更直观的语法:
http://myapp.com/books?sort=+author,-datepublished&count=12
更详细(没有'+'符号):
http://myapp.com/books?sort=author,-datepublished&count=12
容易记住...