首页 > 解决方案 > Laravel api 返回数据格式

问题描述

如果使用 Laravel 构建 api,我们是否需要在每个请求上返回这样的 json:

$datas = User::find($id)->get();
return response()->json($datas);

或者只是像这样返回集合就足够了?

return $datas;

最干净的方法是什么?谢谢 !

标签: laravelapi

解决方案


最好的方法是创建资源:

php artisan make:resource UserResource

在资源中,您定义要返回的字段,因此一切都在控制之中。您还可以为分页等传递额外的元数据。

$datas = User::find($id)->get();
return UserResource::collection($datas);

返回的用户用data密钥包装:

{
  "data": [ users array here ]
}

推荐阅读