【问题标题】:Laravel json response: response()->json() or $var->toJson()Laravel json 响应:response()->json() 或 $var->toJson()
【发布时间】:2017-04-19 06:55:49
【问题描述】:
我的 API 使用 Laravel(实际上是 Lumen)。我创建了一个 User 模型,并使用它来检索我的所有用户:
$users = User::all()
现在我想将它作为 json 返回,但是当我阅读 Laravel 网站时,我看到了两个选项。哪个最好,为什么,有什么区别?
return response()->json($users) (如here所述)
return $users->toJson() (如here所述)
【问题讨论】:
标签:
json
laravel
laravel-5
laravel-5.3
lumen
【解决方案1】:
使用return response()->json($users);
只有return response()->json() 是真正的http 响应,标题为content-type: application/json
return $user->toJson() 只是以 json 格式回显一个字符串。内容类型为 text/html
【解决方案2】:
实际上 laravel 开箱即用。这样做:
return $users;
laravel 会处理这些并以 json 格式返回您的模型集合。