默认情况下,Laravel的Pagination会生成http://example.com/something?page=2
格式的网址。
也就是说,页码作为GET
变量给出,而不是以RESTful方式。
为什么这样做?这比http://example.com/something/2/
或http://example.com/something/page/2/
有什么好处?
答案 0 :(得分:1)
http://example.com/something/page/2并不比http://example.com/something?page=2更加RESTful。在REST中没有使用查询字符串的规则,毕竟它们是HTTP的基本部分。
http://example.com/something/page/2可能看起来更干净,但是它与http://example.com/something/1的典型REST URL不一致,因为这些页面不是具有自己ID的资源。它们会随着时间而变化,如果提供其他参数,它们会立即改变。
考虑更长的查询字符串: http://example.com/something?q=fun&valid=true
如果你想删除参数,它会是http://example.com/something/q/fun/valid/true吗?或者它应该是http://example.com/something/valid/true/q/fun?我的观点是,将路径视为标识资源更清晰,查询字符串是有关如何检索和显示资源的选项。