不使用RESTful API进行分页的基本原理

时间:2015-08-12 02:26:06

标签: php rest laravel laravel-4 pagination

默认情况下,Laravel的Pagination会生成http://example.com/something?page=2格式的网址。

也就是说,页码作为GET变量给出,而不是以RESTful方式。

为什么这样做?这比http://example.com/something/2/http://example.com/something/page/2/有什么好处?

1 个答案:

答案 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?我的观点是,将路径视为标识资源更清晰,查询字符串是有关如何检索和显示资源的选项。