【发布时间】:2019-02-18 07:12:45
【问题描述】:
我正在开发一个 API,对于索引路由,我返回分页但现在我应该使用 eloquent 资源,但这两者的分页 JSON 结构不同,前端代码不再工作。
我的代码是:
// AdminUserController.php
public function index()
{
return User::paginate();
}
// ClientUserController.php
public function index()
{
return new UserCollection(User::paginate());
}
第一个 JSON 结构,如:
{
"total": 50,
"per_page": 15,
"current_page": 1,
"last_page": 4,
"next_page_url": "http://my.app/api/admin/users?page=2",
"prev_page_url": null,
"from": 1,
"to": 15,
"data": [
{
// Result Object
},
{
// Result Object
}
]
}
但第二个是这样的:
{
"data": [
{
// Result Object
},
{
// Result Object
}
],
"links":{
"first": "http://my.app/api/app/users?page=1",
"last": "http://my.app/api/app/users?page=2",
"prev": null,
"next": null
},
"meta":{
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "http://my.app/api/admin/users",
"per_page": 15,
"to": 15,
"total": 25
}
}
为什么 laravel 分页响应具有不同的 JSON 结构?
【问题讨论】: