Laravel json 响应:response()->json() 或 $var->toJson()
Posted
技术标签:
【中文标题】Laravel json 响应:response()->json() 或 $var->toJson()【英文标题】:Laravel json response: response()->json() or $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所述)
【问题讨论】:
【参考方案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 格式返回您的模型集合。
【讨论】:
以上是关于Laravel json 响应:response()->json() 或 $var->toJson()的主要内容,如果未能解决你的问题,请参考以下文章
response()->json 无法在 Laravel 中解码 [关闭]
Laravel Response::json() 带数字检查
在 Laravel5 中调用未定义的方法 Illuminate\Http\Response::json()
laravel4 响应::json(array());不适用于托管