[在Laravel中返回ResourceCollection时如何返回HTTP状态代码

问题描述 投票:0回答:1

我正在构建API,并试图为Laravel中的Classroom返回ResourceCollection。

以前,我使用一系列教室,并使用该数组和状态代码返回了响应,如下所示:

$classrooms=Classroom::all();
return response()->json($classrooms,200);

现在这是我的代码:

$classrooms = new ClassroomCollection(Classroom::paginate(10));
   return $classrooms;

获得此回复:

"data": [classrooms array],
"links": {
        "first": "http://127.0.0.1:8000/api/classrooms ?page=1",
        "last": "http://127.0.0.1:8000/api/classrooms ?page=1",
        "prev": null,
        "next": null
         },
"meta": {
        "current_page": 1,
        "from": null,
        "last_page": 12,
        "path": "http://127.0.0.1:8000/api/classrooms ",
        "per_page": 10,
        "to": null,
        "total": 0
         }

而且我找不到与ClassroomCollection一起发送状态代码的方法,因为如果这样做的话

return response()->json($classrooms,200);

我只返回了“数据”对象,没有分页器的链接和元数据。

有帮助吗?

laravel http eloquent httpresponse http-status-codes
1个回答
0
投票

如果您确实愿意,可以执行以下操作:

return response()->json($classrooms->jsonSerialize(), 200);

但是,如果200是您想要的状态代码,则表示这是默认状态代码,因此无需提供。

所以上面等于:

return $classrooms;
© www.soinside.com 2019 - 2024. All rights reserved.