Laravel json 响应:response()->json() 或 $var->toJson()

Laravel json response: response()->json() or $var->toJson()

我正在为我的 API 使用 Laravel(实际上是 Lumen)。我创建了一个 User 模型并使用它来检索我的所有用户:

$users = User::all()

现在我想 return 它作为 json 但是当我阅读 Laravel 网站时,我看到了两个选项。哪一个最好,为什么,有什么区别?

return response()->json($users)(如描述here

return $users->toJson()(如描述here

使用return response()->json($users);

只有 return response()->json() 是 header content-type: application/json

的真正 http 响应

return $user->toJson() 只是回显 json 格式的字符串。 content-type 是 text/html

实际上 laravel 开箱即用。只需这样做:

return $users;

和 laravel 负责处理,returns 您的模型 collection 在 json。