【问题标题】:Laravel api return data formatLaravel api 返回数据格式
【发布时间】:2021-03-10 22:44:07
【问题描述】:

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

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

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

return $datas;

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

【问题讨论】:

  • 收藏就够了。如果要返回自定义 HTTP 状态代码(例如 404),请使用 response()。

标签: laravel api


【解决方案1】:

最好的方法是创建资源:

php artisan make:resource UserResource

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

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

返回的用户用data 键包裹:

{
  "data": [ users array here ]
}

【讨论】:

【解决方案2】:

通过响应返回数据的最简洁方式:

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

如果你有多个变量,那么你可以这样做:

$users = User::find($id)->get();
$admins = Admin::find($id)->get();
$data=['users'=> $users, 'admins'=>$admins];
return response()->json($data,200);

【讨论】:

    猜你喜欢
    • 2015-07-22
    • 2022-11-16
    • 2019-08-11
    • 2014-09-04
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多