在MVC中,分页信息应该放在路径还是查询字符串中?

Dan*_*fer 6 model-view-controller pagination path query-string

在路径中:

格式: http : //mydomain.com/ {category}/{subcategory}/{pageNumber}/{pageSize}

示例: http ://mydomain.com/books/thriller/3/25

在查询字符串中:

格式: http ://mydomain.com/ {category}/{subcategory}?PAGENUMBER = {PAGENUMBER}&的pageSize = {}的pageSize

示例: http ://mydomain.com/books/thriller?pageNumber = 3&pageSize = 25

我喜欢把所有东西放在路上,但我的问题是,虽然在第一个例子中"书"和"惊悚片" 显而易见(或至少有些明显),但"3"和"25"似乎很随意相比之下.

是否有一种规范的方法来确定MVC中的位置,或者它真的只适用于开发人员?

Mic*_*cah 17

我更喜欢pagenumbers之类的东西在querystring变量中.我认为两者之间的描述性存在差异

http://mydomain.com/books/thriller?pagesize=50&page=4
Run Code Online (Sandbox Code Playgroud)

http://mydomain.com/books/thriller/50/4
Run Code Online (Sandbox Code Playgroud)

拥有干净网址的这一点(对我而言)是让它们更具描述性和可读性,我发现第一个例子就是这样.

JohnRudolfLewis提出的一个有趣的观点是:

我遵循的一条经验法则是,如果参数是必需的,请考虑使用路径,如果参数是可选的,则始终使用查询字符串参数.


Joh*_*wis 6

我遵循的一条经验法则是,如果参数是必需的,请考虑使用路径,如果参数是可选的,则始终使用查询字符串参数.

总的来说,我坚持使用url看起来更具可读性.

该网站将其置于查询字符串中:https://stackoverflow.com/questions page = 2& pagesize = 30